aboutsummaryrefslogtreecommitdiff
path: root/t/t1401-symbolic-ref.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-01-26 15:40:30 -0800
committerJunio C Hamano <gitster@pobox.com>2016-01-26 15:40:30 -0800
commit90ce285a42cd29c9b958e8b2ffe265986d2e5cf2 (patch)
tree339c62246132bd95775a1d75827fba6c2f39ab10 /t/t1401-symbolic-ref.sh
parentb2ed5ae80a1b45ac00c4c891e693ffcde34a9347 (diff)
parent2859dcd4c8605a5b9cf35efb815418ea8892658b (diff)
downloadgit-90ce285a42cd29c9b958e8b2ffe265986d2e5cf2.tar.gz
git-90ce285a42cd29c9b958e8b2ffe265986d2e5cf2.tar.xz
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
Diffstat (limited to 't/t1401-symbolic-ref.sh')
-rwxr-xr-xt/t1401-symbolic-ref.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/t/t1401-symbolic-ref.sh b/t/t1401-symbolic-ref.sh
index ce8b4f4d0..417eecc3a 100755
--- a/t/t1401-symbolic-ref.sh
+++ b/t/t1401-symbolic-ref.sh
@@ -114,4 +114,19 @@ test_expect_success 'symbolic-ref writes reflog entry' '
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