On Saturday 13 August 2005 21:27, Junio C Hamano wrote:
> Josef Weidendorfer <[EMAIL PROTECTED]> writes:
> > Or is there already an easy way to detect the fast-forward situation in
> > the script?
>
> Since you are given old and new, presumably you can do
> merge-base in the hook to see what it yields?
Ah, yes, thanks.
A proposed update for the example hook (one change actually is a fix):
Fixed/Extended example for update hook
---
diff --git a/templates/hooks--update b/templates/hooks--update
--- 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="[EMAIL PROTECTED]"
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
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html