[Xfce4-commits] <xfce-git-hooks:master> (hopefully) fix testing for fast-forward merges
Brian J. Tarricone
brian at tarricone.org
Sat Aug 15 01:56:02 CEST 2009
Updating branch refs/heads/master
to 4bbc57af91360ea7ecebb7c77126682d1238df86 (commit)
from 40b35dbade8f163f5b14b9d9119b8237edeee73a (commit)
commit 4bbc57af91360ea7ecebb7c77126682d1238df86
Author: Brian J. Tarricone <brian at tarricone.org>
Date: Fri Aug 14 16:57:33 2009 -0700
(hopefully) fix testing for fast-forward merges
hooks/update-01-history-integrity | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/hooks/update-01-history-integrity b/hooks/update-01-history-integrity
index 461fcf7..fa891eb 100755
--- a/hooks/update-01-history-integrity
+++ b/hooks/update-01-history-integrity
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
refname=$1
oldrev=$2
@@ -7,18 +7,20 @@ newrev=$3
[ "$newrev" ] || exit 1
if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then
- newrev_type=delete
+ newrev_type=delete
else
- newrev_type=$(git-cat-file -t $newrev)
+ newrev_type=$(git-cat-file -t $newrev)
fi
is_fast_forward()
{
- old=$1
+ old=$(git rev-parse "$1" 2>/dev/null)
new=$2
- # this doesn't work yet
- return 0
+ if [ -z "$old" ]; then
+ echo "Couldn't parse old rev ($1)." >&2
+ return 1
+ fi
for sha in `git rev-list "$new"`; do
if [ "$sha" = "$old" ]; then
@@ -53,7 +55,7 @@ case $refname in
exit 1
fi
- if ! is_fast_forward $refname $newrev; then
+ if ! is_fast_forward $oldrev $newrev; then
echo "Non-fast forward update not allowed for master branch." >&2
exit 1
fi
@@ -65,7 +67,7 @@ case $refname in
exit 1
fi
- if ! is_fast_forward $refname $newrev; then
+ if ! is_fast_forward $oldrev $newrev; then
echo "Non-fast forward update not allowed for xfce stable branches." >&2
exit 1
fi
More information about the Xfce4-commits
mailing list