diff options
author | Josef Weidendorfer <Josef.Weidendorfer@gmx.de> | 2005-08-13 22:39:41 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-15 03:00:21 -0700 |
commit | c65a9470fbaa57b9b815addde51ad22648f6d353 (patch) | |
tree | bc97e6b020be43446d7b04753d90a3fc9721bfb4 /templates/hooks--update | |
parent | Add cheap local clone '-s' flag to git-clone-script (diff) | |
download | tgif-c65a9470fbaa57b9b815addde51ad22648f6d353.tar.xz |
[PATCH] Fixed/Extended example for update hook
Add sample code to distinguish --force rebased head and simple
fast-forward. At the same time fixes a real bug; the "new ref"
path was using a wrong parameter.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'templates/hooks--update')
-rw-r--r-- | templates/hooks--update | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/templates/hooks--update b/templates/hooks--update index 540ade0d52..0726975367 100644 --- a/templates/hooks--update +++ b/templates/hooks--update @@ -1,6 +1,7 @@ #!/bin/sh # # An example hook script to mail out commit update information. +# Called by git-receive-pack with arguments: refname sha1-old sha1-new # # To enable this hook: # (1) change the recipient e-mail address @@ -12,10 +13,15 @@ recipient="commit-list@mydomain.xz" if expr "$2" : '0*$' >/dev/null then echo "Created a new ref, with the following commits:" - git-rev-list --pretty "$2" + git-rev-list --pretty "$3" else - echo "New commits:" - git-rev-list --pretty "$3" "^$2" + $base=$(git-merge-base "$2" "$3") + if [ $base == "$2" ]; then + echo "New commits:" + else + echo "Rebased ref, commits from common ancestor:" +fi +git-rev-list --pretty "$3" "^$base" fi | mail -s "Changes to ref $1" "$recipient" exit 0 |