From 2f20803b079f39bc97e4b64a4c78aa58e22a8217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Wed, 17 Apr 2013 16:33:18 -0300 Subject: Support for installing hooks --- git-shell-commands/hook-install | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 git-shell-commands/hook-install (limited to 'git-shell-commands') diff --git a/git-shell-commands/hook-install b/git-shell-commands/hook-install new file mode 100644 index 0000000..482a915 --- /dev/null +++ b/git-shell-commands/hook-install @@ -0,0 +1,25 @@ +#!/bin/sh +# * hook-install +# Installs a hook on a repo +# ssh git@host hook-install hook script repo [alt-dir] + +set -e + +hook="${1}" +script="${HOME}/.ssh/git-hooks/${2}" +repo="${HOME}/${3}" +clone="${4:-${repo}}" + +# Tests +test -f "${repo}/HEAD" +test -f "${clone}/.git/HEAD" +test -f "${repo}/hooks/${hook_name}" + +# Installs the generic hook that runs scripts +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}" + +exit $? -- cgit v1.2.3