diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2015-05-11 17:25:16 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-11 11:50:20 -0700 |
commit | 5b2d8d6f2184381b76c13504a2f5ec8a62cd584e (patch) | |
tree | 88b3577217ab62679ae9d3107b176cf0e6df71f1 /t | |
parent | 4a32b2e08be8daf965949956e8ea16718797a031 (diff) | |
download | git-5b2d8d6f2184381b76c13504a2f5ec8a62cd584e.tar.gz |
lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
If there is a failure to lock a reference that is likely caused by a
D/F conflict (e.g., trying to lock "refs/foo/bar" when reference
"refs/foo" already exists), invoke verify_refname_available() to try
to generate a more helpful error message.
That function might not detect an error. For example, some
non-reference file might be blocking the deletion of an
otherwise-empty directory tree, or there might be a race with another
process that just deleted the offending reference. In such cases,
generate the strerror-based error message like before.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Diffstat (limited to 't')
-rwxr-xr-x | t/t1404-update-ref-df-conflicts.sh | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/t/t1404-update-ref-df-conflicts.sh b/t/t1404-update-ref-df-conflicts.sh index 6d6200a9a3..66bafb5cf4 100755 --- a/t/t1404-update-ref-df-conflicts.sh +++ b/t/t1404-update-ref-df-conflicts.sh @@ -36,7 +36,7 @@ test_expect_success 'existing loose ref is a simple prefix of new' ' prefix=refs/1l && test_update_rejected $prefix "a c e" false "b c/x d" \ - "unable to resolve reference $prefix/c/x: Not a directory" + "$Q$prefix/c$Q exists; cannot create $Q$prefix/c/x$Q" ' @@ -52,7 +52,7 @@ test_expect_success 'existing loose ref is a deeper prefix of new' ' prefix=refs/2l && test_update_rejected $prefix "a c e" false "b c/x/y d" \ - "unable to resolve reference $prefix/c/x/y: Not a directory" + "$Q$prefix/c$Q exists; cannot create $Q$prefix/c/x/y$Q" ' @@ -68,7 +68,7 @@ test_expect_success 'new ref is a simple prefix of existing loose' ' prefix=refs/3l && test_update_rejected $prefix "a c/x e" false "b c d" \ - "there are still refs under $Q$prefix/c$Q" + "$Q$prefix/c/x$Q exists; cannot create $Q$prefix/c$Q" ' @@ -84,7 +84,7 @@ test_expect_success 'new ref is a deeper prefix of existing loose' ' prefix=refs/4l && test_update_rejected $prefix "a c/x/y e" false "b c d" \ - "there are still refs under $Q$prefix/c$Q" + "$Q$prefix/c/x/y$Q exists; cannot create $Q$prefix/c$Q" ' |