diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-11-19 04:32:58 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-11-19 04:32:58 +0100 |
commit | 3a9866919c1f87c7e4f740ea6699513381256103 (patch) | |
tree | 46a5bbc39c547fddb229f9b2f3ac75c63d9bda8f /t | |
parent | Merge branch 'nd/grep-true-path' into maint (diff) | |
parent | branch: show targets of deleted symrefs, not sha1s (diff) | |
download | git-3a9866919c1f87c7e4f740ea6699513381256103.tar.xz git-3a9866919c1f87c7e4f740ea6699513381256103.zip |
Merge branch 'rs/branch-del-symref' into maint
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 && |