summaryrefslogtreecommitdiff
path: root/templates/hooks--update
diff options
context:
space:
mode:
authorLibravatar Josef Weidendorfer <Josef.Weidendorfer@gmx.de>2005-08-13 22:39:41 +0200
committerLibravatar Junio C Hamano <junkio@cox.net>2005-08-15 03:00:21 -0700
commitc65a9470fbaa57b9b815addde51ad22648f6d353 (patch)
treebc97e6b020be43446d7b04753d90a3fc9721bfb4 /templates/hooks--update
parentAdd cheap local clone '-s' flag to git-clone-script (diff)
downloadtgif-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--update12
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