diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 1d116bfae2..2ff211cbaa 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -823,8 +823,6 @@ first and then run 'git rebase --continue' again." if test ! -z "$1" then - output git show-ref --verify --quiet "refs/heads/$1" || - die "Invalid branchname: $1" output git checkout "$1" || die "Could not checkout $1" fi diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 19668c2c92..b0b43c6d32 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -577,4 +577,13 @@ test_expect_success 'rebase -i can copy notes over a fixup' ' test_cmp expect output ' +test_expect_success 'rebase while detaching HEAD' ' + git symbolic-ref HEAD && + grandparent=$(git rev-parse HEAD~2) && + test_tick && + FAKE_LINES="2 1" git rebase -i HEAD~2 HEAD^0 && + test $grandparent = $(git rev-parse HEAD~2) && + test_must_fail git symbolic-ref HEAD +' + test_done