Browse Source

[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>
maint
Josef Weidendorfer 20 years ago committed by Junio C Hamano
parent
commit
c65a9470fb
  1. 12
      templates/hooks--update

12
templates/hooks--update

@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
# #
# An example hook script to mail out commit update information. # 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: # To enable this hook:
# (1) change the recipient e-mail address # (1) change the recipient e-mail address
@ -12,10 +13,15 @@ recipient="commit-list@mydomain.xz"
if expr "$2" : '0*$' >/dev/null if expr "$2" : '0*$' >/dev/null
then then
echo "Created a new ref, with the following commits:" echo "Created a new ref, with the following commits:"
git-rev-list --pretty "$2" git-rev-list --pretty "$3"
else else
echo "New commits:" $base=$(git-merge-base "$2" "$3")
git-rev-list --pretty "$3" "^$2" if [ $base == "$2" ]; then
echo "New commits:"
else
echo "Rebased ref, commits from common ancestor:"
fi
git-rev-list --pretty "$3" "^$base"
fi | fi |
mail -s "Changes to ref $1" "$recipient" mail -s "Changes to ref $1" "$recipient"
exit 0 exit 0

Loading…
Cancel
Save