Skip to content

Commit

Permalink
rebase: refuse to switch to a branch already checked out elsewhere (t…
Browse files Browse the repository at this point in the history
…est)

In b5cabb4 (rebase: refuse to switch to branch already checked out
elsewhere, 2020-02-23) we add a condition to prevent a rebase operation
involving a switch to a branch that is already checked out in another
worktree.

A bug has recently been fixed that caused this to not work as expected.

Let's add a test to notice if this changes in the future.

Signed-off-by: Rubén Justo <rjusto@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
rjusto authored and gitster committed Feb 25, 2023
1 parent faa4d59 commit 279f42f
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions t/t3400-rebase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,20 @@ test_expect_success 'switch to branch checked out here' '
git rebase main main
'

test_expect_success 'switch to branch checked out elsewhere fails' '
test_when_finished "
git worktree remove wt1 &&
git worktree remove wt2 &&
git branch -d shared
" &&
git worktree add wt1 -b shared &&
git worktree add wt2 -f shared &&
# we test in both worktrees to ensure that works
# as expected with "first" and "next" worktrees
test_must_fail git -C wt1 rebase shared shared &&
test_must_fail git -C wt2 rebase shared shared
'

test_expect_success 'switch to branch not checked out' '
git checkout main &&
git branch other &&
Expand Down

0 comments on commit 279f42f

Please sign in to comment.