aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Shearman <rob@codeweavers.com>2006-07-27 10:32:25 +0100
committerJunio C Hamano <junkio@cox.net>2006-07-31 00:15:59 -0700
commit83c31614ceae2612b7cdba40e6401716fe854cd2 (patch)
treee45d87ca6b9132b4e81075542dc581172524a972
parentb63fafdfd844c2037fba53b9944431c1378b4135 (diff)
downloadgit-83c31614ceae2612b7cdba40e6401716fe854cd2.tar.gz
git-83c31614ceae2612b7cdba40e6401716fe854cd2.tar.xz
rebase: Fix the detection of fast-forwarding of the current branch to upstream.
Previously, a rebasing operation with on a branch that is just tracking an upstream branch would output a confusing "Nothing to do" due to no patches being given to git-am. The test brings the behaviour back into line with that of just before e646c9c8c0aa995eac284ea0a2117add19c4461c. Signed-off-by: Robert Shearman <rob@codeweavers.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-rebase.sh13
1 files changed, 5 insertions, 8 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index 29028dd5f..240032f32 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -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,7 +278,7 @@ 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."
exit 0