diff options
author | Jeff King <peff@peff.net> | 2012-10-29 04:15:04 -0400 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2012-10-29 04:15:04 -0400 |
commit | 9c50374497d5a3259907e32455f228cfbda85ddf (patch) | |
tree | 544254f56258544ec15aaa24c86924a24d97efb9 /t | |
parent | Merge branch 'nd/status-long' (diff) | |
parent | branch: show targets of deleted symrefs, not sha1s (diff) | |
download | tgif-9c50374497d5a3259907e32455f228cfbda85ddf.tar.xz |
Merge branch 'rs/branch-del-symref'
A symbolic ref refs/heads/SYM was not correctly removed with
"git branch -d SYM"; the command removed the ref pointed by
SYM instead.
* rs/branch-del-symref:
branch: show targets of deleted symrefs, not sha1s
branch: skip commit checks when deleting symref branches
branch: delete symref branch, not its target
branch: factor out delete_branch_config()
branch: factor out check_branch_commit()
Diffstat (limited to 't')
-rwxr-xr-x | t/t3200-branch.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 79c8d0142e..80e6be39d7 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -262,6 +262,25 @@ test_expect_success 'config information was renamed, too' \ "test $(git config branch.s.dummy) = Hello && test_must_fail git config branch.s/s/dummy" +test_expect_success 'deleting a symref' ' + git branch target && + git symbolic-ref refs/heads/symref refs/heads/target && + echo "Deleted branch symref (was refs/heads/target)." >expect && + git branch -d symref >actual && + test_path_is_file .git/refs/heads/target && + test_path_is_missing .git/refs/heads/symref && + test_i18ncmp expect actual +' + +test_expect_success 'deleting a dangling symref' ' + git symbolic-ref refs/heads/dangling-symref nowhere && + test_path_is_file .git/refs/heads/dangling-symref && + echo "Deleted branch dangling-symref (was nowhere)." >expect && + git branch -d dangling-symref >actual && + test_path_is_missing .git/refs/heads/dangling-symref && + test_i18ncmp expect actual +' + test_expect_success 'renaming a symref is not allowed' \ ' git symbolic-ref refs/heads/master2 refs/heads/master && |