Merge branch 'ph/rebase-original'
authorJunio C Hamano <gitster@pobox.com>
Fri, 26 Apr 2013 22:28:34 +0000 (15:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Apr 2013 22:28:34 +0000 (15:28 -0700)
* ph/rebase-original:
rebase: find orig_head unambiguously

git-rebase.sh
t/t3400-rebase.sh
index b2f1c76dc3ede707870564a8ba73af6d1753e95c..2c692c33e95c4f75a5524a76a8136841cb2e4a57 100755 (executable)
@@ -473,7 +473,7 @@ case "$#" in
                head_name="detached HEAD"
                branch_name=HEAD ;# detached
        fi
-       orig_head=$(git rev-parse --verify "${branch_name}^0") || exit
+       orig_head=$(git rev-parse --verify HEAD) || exit
        ;;
 *)
        die "BUG: unexpected number of arguments left to parse"
index f6cc10265700730999174347704a0df6989c7f1b..b58fa1a23243e435f119afb9966b0a80cbc1e4d4 100755 (executable)
@@ -101,7 +101,14 @@ test_expect_success 'HEAD was detached during rebase' '
        test $(git rev-parse HEAD@{1}) != $(git rev-parse my-topic-branch@{1})
 '
 
+test_expect_success 'rebase from ambiguous branch name' '
+       git checkout -b topic side &&
+       git rebase master
+'
+
 test_expect_success 'rebase after merge master' '
+       git checkout --detach refs/tags/topic &&
+       git branch -D topic &&
        git reset --hard topic &&
        git merge master &&
        git rebase master &&