From: Junio C Hamano Date: Tue, 26 Jan 2016 23:40:30 +0000 (-0800) Subject: Merge branch 'jk/symbolic-ref' X-Git-Tag: v2.8.0-rc0~97 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/90ce285a42cd29c9b958e8b2ffe265986d2e5cf2?ds=inline;hp=-c Merge branch 'jk/symbolic-ref' The low-level code that is used to create symbolic references has been updated to share more code with the code that deals with normal references. * jk/symbolic-ref: lock_ref_sha1_basic: handle REF_NODEREF with invalid refs lock_ref_sha1_basic: always fill old_oid while holding lock checkout,clone: check return value of create_symref create_symref: write reflog while holding lock create_symref: use existing ref-lock code create_symref: modernize variable names --- 90ce285a42cd29c9b958e8b2ffe265986d2e5cf2 diff --combined t/t1401-symbolic-ref.sh index ce8b4f4d0f,a713766cc2..417eecc3af --- a/t/t1401-symbolic-ref.sh +++ b/t/t1401-symbolic-ref.sh @@@ -29,7 -29,7 +29,7 @@@ reset_to_san test_expect_success 'symbolic-ref refuses bare sha1' ' echo content >file && git add file && git commit -m one && - test_must_fail git symbolic-ref HEAD `git rev-parse HEAD` + test_must_fail git symbolic-ref HEAD $(git rev-parse HEAD) ' reset_to_sane @@@ -114,4 -114,19 +114,19 @@@ test_expect_success 'symbolic-ref write test_cmp expect actual ' + test_expect_success 'symbolic-ref does not create ref d/f conflicts' ' + git checkout -b df && + test_commit df && + test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df && + git pack-refs --all --prune && + test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df + ' + + test_expect_success 'symbolic-ref handles existing pointer to invalid name' ' + head=$(git rev-parse HEAD) && + git symbolic-ref HEAD refs/heads/outer && + git update-ref refs/heads/outer/inner $head && + git symbolic-ref HEAD refs/heads/unrelated + ' + test_done