t/t2021-checkout-last: "checkout -" should work after a rebase finishes
$ git checkout - does not work as expected after a rebase. This is because the reflog records "checkout" made by "rebase" as its implementation detail the same way as end-user initiated "checkout", and makes it count as the branch that was previously checked out. Add four failing tests documenting this bug: two for a normal rebase, and another two for an interactive rebase. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ce23d493b4
commit
89f2fea49a
@ -116,4 +116,38 @@ test_expect_success 'master...' '
|
||||
test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)"
|
||||
'
|
||||
|
||||
test_expect_failure '"checkout -" works after a rebase A' '
|
||||
git checkout master &&
|
||||
git checkout other &&
|
||||
git rebase master &&
|
||||
git checkout - &&
|
||||
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
|
||||
'
|
||||
|
||||
test_expect_failure '"checkout -" works after a rebase A B' '
|
||||
git branch moodle master~1 &&
|
||||
git checkout master &&
|
||||
git checkout other &&
|
||||
git rebase master moodle &&
|
||||
git checkout - &&
|
||||
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
|
||||
'
|
||||
|
||||
test_expect_failure '"checkout -" works after a rebase -i A' '
|
||||
git checkout master &&
|
||||
git checkout other &&
|
||||
git rebase -i master &&
|
||||
git checkout - &&
|
||||
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
|
||||
'
|
||||
|
||||
test_expect_failure '"checkout -" works after a rebase -i A B' '
|
||||
git branch foodle master~1 &&
|
||||
git checkout master &&
|
||||
git checkout other &&
|
||||
git rebase master foodle &&
|
||||
git checkout - &&
|
||||
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user