Browse Source

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
e646c9c8c0.

Signed-off-by: Robert Shearman <rob@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Robert Shearman 19 years ago committed by Junio C Hamano
parent
commit
83c31614ce
  1. 13
      git-rebase.sh

13
git-rebase.sh

@ -266,14 +266,11 @@ onto=$(git-rev-parse --verify "${onto_name}^0") || exit @@ -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" @@ -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

Loading…
Cancel
Save