From 2f20803b079f39bc97e4b64a4c78aa58e22a8217 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Wed, 17 Apr 2013 16:33:18 -0300 Subject: Support for installing hooks --- git-hooks/generic | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100755 git-hooks/generic (limited to 'git-hooks/generic') diff --git a/git-hooks/generic b/git-hooks/generic new file mode 100755 index 0000000..bd127a6 --- /dev/null +++ b/git-hooks/generic @@ -0,0 +1,12 @@ +#!/bin/sh +# Generic hook, installs itself as a valid githook(5) and runs whatever it +# finds on hacking.hook.$self +# Format: +# hacking.hooks.post-receive.auto-deploy /srv/http/markpower.hackcoop.com.ar + +git config --local --get-regexp "hacking.hooks.${0}.*" | \ +while read hook repo; do + hook="`echo "${hook}" | cut -d'.' -f4`" + + ${HOME}/.ssh/git-hooks/${hook} ${repo} ${@} Date: Wed, 17 Apr 2013 17:14:47 -0300 Subject: It works\! --- git-hooks/generic | 2 +- git-shell-commands/hook-install | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'git-hooks/generic') diff --git a/git-hooks/generic b/git-hooks/generic index bd127a6..ebf56f4 100755 --- a/git-hooks/generic +++ b/git-hooks/generic @@ -4,7 +4,7 @@ # Format: # hacking.hooks.post-receive.auto-deploy /srv/http/markpower.hackcoop.com.ar -git config --local --get-regexp "hacking.hooks.${0}.*" | \ +git config -f config --get-regexp "hacking.hooks.$(basename ${0}).*" | \ while read hook repo; do hook="`echo "${hook}" | cut -d'.' -f4`" diff --git a/git-shell-commands/hook-install b/git-shell-commands/hook-install index afc4e5d..cfd4962 100755 --- a/git-shell-commands/hook-install +++ b/git-shell-commands/hook-install @@ -15,10 +15,9 @@ test -f "${repo}/HEAD" test -f "${clone}/.git/HEAD" # Installs the generic hook that runs scripts -test -f "${repo}/hooks/${hook}" || \ - ln -s "${HOME}/.ssh/git-hooks/generic" "${repo}/hooks/${hook}" +test -f "${repo}/hooks/${hook}" || ln -s "${HOME}/.ssh/git-hooks/generic" "${repo}/hooks/${hook}" # Install the hook on the repo -git config --local --add "hacking.hooks.${hook}.${2}" "${clone}" +git config -f "${repo}/config" --add "hacking.hooks.${hook}.${2}" "${clone}" exit $? -- cgit v1.2.3-54-g00ecf