summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2014-01-09 19:47:34 +0000
committerJunio C Hamano <gitster@pobox.com>2014-01-09 15:05:26 -0800
commitbb3f45838b859c8b17a53a24579a304333868cc8 (patch)
treec8f5a088eb941d1c92a288cde504e52b2504e9d3 /git-rebase.sh
parentad8261d21221d27638c75f47b39892db6f7972f6 (diff)
downloadgit-bb3f45838b859c8b17a53a24579a304333868cc8.tar.gz
rebase: fix fork-point with zero arguments
When no arguments are specified, $switch_to is empty so we end up passing the empty string to "git merge-base --fork-point", which causes an error. git-rebase carries on at this point, but in fact we have failed to apply the fork-point operation. It turns out that the test in t3400 that was meant to test this didn't actually need the fork-point behaviour, so enhance it to make sure that the fork-point is applied correctly. The modified test fails without the change to git-rebase.sh in this patch. Reported-by: Andreas Krey <a.krey@gmx.de> Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh3
1 files changed, 2 insertions, 1 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index 7185dc8438..8a3efa2983 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -534,7 +534,8 @@ esac
if test "$fork_point" = t
then
- new_upstream=$(git merge-base --fork-point "$upstream_name" "$switch_to")
+ new_upstream=$(git merge-base --fork-point "$upstream_name" \
+ "${switch_to:-HEAD}")
if test -n "$new_upstream"
then
upstream=$new_upstream