[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