]> git.droids-corp.org - git-central.git/commitdiff
Watch out for parent not existing yet.
authorStephen Haberman <shaberman@payflex.com>
Fri, 29 Aug 2008 07:51:07 +0000 (02:51 -0500)
committerStephen Haberman <shaberman@payflex.com>
Fri, 29 Aug 2008 07:51:19 +0000 (02:51 -0500)
server/update-prefer-rebase

index 0c9126ab4556cbeab42414e63c3f5d321b2fbc1d..9ccf01c913a1c804a99aa59e946c4606d045a698 100644 (file)
@@ -56,9 +56,13 @@ git rev-parse --not --branches | git rev-list --stdin $oldrev..$newrev | while r
                git merge-base --all $parents | while read baserev ; do
                        # For each parent
                        git rev-list -n 1 --parents $commit | sed 's/ /\n/g' | grep -v $commit | while read parent ; do
+                parent_is_old=$(git branch --contains $parent | wc -l)
                                all_commits=$(git rev-list --first-parent $baserev..$parent | wc -l)
                                new_commits=$(git rev-parse --not --branches | git rev-list --stdin $baserev..$parent | wc -l)
-                               if [[ $all_commits -eq $new_commits ]] ; then
+                               if [ $parent_is_old -gt 0 -a $all_commits -eq $new_commits ] ; then
+                    # echo "parent=$parent"
+                    # echo "all_commits=$all_commits"
+                    # echo "new_commits=$new_commits"
                                        echo "----------------------------------------------------"
                                        echo
                                        echo "It looks like you should rebase instead of merging $commit"