diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-03-29 12:38:39 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-03-29 23:05:53 +0300 |
commit | f292244c04d8109ee32a45016ce08984fbd925f0 (patch) | |
tree | 2c492ec3099cd457f385cde6c1fc833f5bb8157d /t/t3200-branch.sh | |
parent | a0feb1b1870fbb74f65d6a8951e4b2e2a2347ecf (diff) |
branch -d: refuse deleting a branch which is currently checked out
When a branch is checked out by current working tree, deleting the
branch is forbidden. However when the branch is checked out only by
other working trees, deleting incorrectly succeeds.
Use find_shared_symref() to check if the branch is in use, not just
comparing with the current working tree's HEAD.
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Kazuki Yamaguchi <k@rhe.jp>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3200-branch.sh')
-rwxr-xr-x | t/t3200-branch.sh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index a897248490..508007fd37 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -403,6 +403,12 @@ test_expect_success 'test deleting branch without config' ' test_i18ncmp expect actual ' +test_expect_success 'deleting currently checked out branch fails' ' + git worktree add -b my7 my7 && + test_must_fail git -C my7 branch -d my7 && + test_must_fail git branch -d my7 +' + test_expect_success 'test --track without .fetch entries' ' git branch --track my8 && test "$(git config branch.my8.remote)" && |