GIT 1.4.2
[gitweb.git] / git-rebase.sh
index 29028dd5fc0669cd2d7d3b956bfdd2583cc785b7..7d3a5d0e718eebe6fb5d1fa3362f2a7087d6e691 100755 (executable)
@@ -266,14 +266,11 @@ onto=$(git-rev-parse --verify "${onto_name}^0") || exit
 
 # Check if we are already based on $onto, but this should be
 # done only when upstream and onto are the same.
-if test "$upstream" = "$onto"
+mb=$(git-merge-base "$onto" "$branch")
+if test "$upstream" = "$onto" && test "$mb" = "$onto"
 then
-       mb=$(git-merge-base "$onto" "$branch")
-       if test "$mb" = "$onto"
-       then
-               echo >&2 "Current branch $branch_name is up to date."
-               exit 0
-       fi
+       echo >&2 "Current branch $branch_name is up to date."
+       exit 0
 fi
 
 # Rewind the head to "$onto"; this saves our current head in ORIG_HEAD.
@@ -281,9 +278,9 @@ git-reset --hard "$onto"
 
 # If the $onto is a proper descendant of the tip of the branch, then
 # we just fast forwarded.
-if test "$mb" = "$onto"
+if test "$mb" = "$branch"
 then
-       echo >&2 "Fast-forwarded $branch to $newbase."
+       echo >&2 "Fast-forwarded $branch_name to $onto_name."
        exit 0
 fi