summaryrefslogtreecommitdiff
path: root/git-shell-commands/hook-install
blob: 08a0340f6a5b9f12e824effa86e45c3c8279f896 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
# * hook-install
#   Instala un hook en un 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"

# 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 -f "${repo}/config" --add "hacking.hooks.${hook}.${2}" "${clone}"

exit $?