diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-11-15 18:23:51 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-11-15 18:23:51 (GMT) |
commit | b398fcc2623872225e3534c8344ca5734cbfe164 (patch) | |
tree | e4d6c1089356ca19ccbd0508ea92c29c283709f8 /t | |
parent | 7115d3cc2b06364645dbfbbb0b8b7d49315566e2 (diff) | |
parent | 9ab55daa55377fa258c18ffb90211547e299eec9 (diff) | |
download | git-b398fcc2623872225e3534c8344ca5734cbfe164.zip git-b398fcc2623872225e3534c8344ca5734cbfe164.tar.gz git-b398fcc2623872225e3534c8344ca5734cbfe164.tar.bz2 |
Merge branch 'jh/symbolic-ref-d'
Add "symbolic-ref -d SYM" to delete a symbolic ref SYM.
It is already possible to remove a symbolic ref with "update-ref -d
--no-deref", but it may be a good addition for completeness.
* jh/symbolic-ref-d:
git symbolic-ref --delete $symref
Diffstat (limited to 't')
-rwxr-xr-x | t/t1401-symbolic-ref.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/t1401-symbolic-ref.sh b/t/t1401-symbolic-ref.sh index 2c96551..36378b0 100755 --- a/t/t1401-symbolic-ref.sh +++ b/t/t1401-symbolic-ref.sh @@ -33,4 +33,34 @@ test_expect_success 'symbolic-ref refuses bare sha1' ' ' reset_to_sane +test_expect_success 'symbolic-ref deletes HEAD' ' + git symbolic-ref -d HEAD && + test_path_is_file .git/refs/heads/foo && + test_path_is_missing .git/HEAD +' +reset_to_sane + +test_expect_success 'symbolic-ref deletes dangling HEAD' ' + git symbolic-ref HEAD refs/heads/missing && + git symbolic-ref -d HEAD && + test_path_is_missing .git/refs/heads/missing && + test_path_is_missing .git/HEAD +' +reset_to_sane + +test_expect_success 'symbolic-ref fails to delete missing FOO' ' + echo "fatal: Cannot delete FOO, not a symbolic ref" >expect && + test_must_fail git symbolic-ref -d FOO >actual 2>&1 && + test_cmp expect actual +' +reset_to_sane + +test_expect_success 'symbolic-ref fails to delete real ref' ' + echo "fatal: Cannot delete refs/heads/foo, not a symbolic ref" >expect && + test_must_fail git symbolic-ref -d refs/heads/foo >actual 2>&1 && + test_path_is_file .git/refs/heads/foo && + test_cmp expect actual +' +reset_to_sane + test_done |