From: Matthijs Kooijman Date: Sun, 30 Jan 2011 20:19:31 +0000 (+0100) Subject: git: Make git-wrapper create symlinks instead of copying them. X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=5e3f9a6568baf708c5bd88144cd9a59260301683;p=matthijs%2Fservers%2Fdrsnuggles.git git: Make git-wrapper create symlinks instead of copying them. This makes it possible to have a single hook script that calls multiple different ones, instead of being just a symlink to a single script. --- diff --git a/usr/local/bin/git-wrapper b/usr/local/bin/git-wrapper index 570a47d..5481ffb 100755 --- a/usr/local/bin/git-wrapper +++ b/usr/local/bin/git-wrapper @@ -9,12 +9,15 @@ # --base-path-relaxed. BASE_PATH='/data/vcs/git' -POST_UPDATE_HOOK="$BASE_PATH/hooks/post-update" +HOOKS_PATH="$BASE_PATH/hooks" +HOOKS=post-update function init_repos() { mkdir "$1" &> /dev/null || return 1 (cd $1 && git --bare init &> /dev/null) || return 1 - cp -P "$POST_UPDATE_HOOK" "$1/hooks/" || return 1 + for hook in $HOOKS; do + ln -s "$HOOKS_PATH/$hook" "$1/hooks/" || return 1 + done } # We keep an array of arguments, so we can handle quoting an spaces in