aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-02-13 14:44:47 -0800
committerJunio C Hamano <gitster@pobox.com>2024-02-13 14:44:47 -0800
commit908fde12b0d59645cdb684ba9862e7665d89695e (patch)
tree57334c807603ab3e41c4d1fe2a974fa2e5b0e470
parent7adf215fede93114f8ee376c82adb5b8dd0f73c7 (diff)
parent0aabeaa562fa269834f10cbda6e966b553dcec71 (diff)
downloadgit-908fde12b0d59645cdb684ba9862e7665d89695e.tar.gz
Merge branch 'tc/show-ref-exists-fix' into maint-2.43
Update to a new feature recently added, "git show-ref --exists". * tc/show-ref-exists-fix: builtin/show-ref: treat directory as non-existing in --exists
-rw-r--r--builtin/show-ref.c2
-rwxr-xr-xt/t1403-show-ref.sh4
2 files changed, 3 insertions, 3 deletions
diff --git a/builtin/show-ref.c b/builtin/show-ref.c
index aaa2c39b2f..79955c2856 100644
--- a/builtin/show-ref.c
+++ b/builtin/show-ref.c
@@ -238,7 +238,7 @@ static int cmd_show_ref__exists(const char **refs)
if (refs_read_raw_ref(get_main_ref_store(the_repository), ref,
&unused_oid, &unused_referent, &unused_type,
&failure_errno)) {
- if (failure_errno == ENOENT) {
+ if (failure_errno == ENOENT || failure_errno == EISDIR) {
error(_("reference does not exist"));
ret = 2;
} else {
diff --git a/t/t1403-show-ref.sh b/t/t1403-show-ref.sh
index d477689e33..872ba8f110 100755
--- a/t/t1403-show-ref.sh
+++ b/t/t1403-show-ref.sh
@@ -262,9 +262,9 @@ test_expect_success '--exists with non-commit object' '
test_expect_success '--exists with directory fails with generic error' '
cat >expect <<-EOF &&
- error: failed to look up reference: Is a directory
+ error: reference does not exist
EOF
- test_expect_code 1 git show-ref --exists refs/heads 2>err &&
+ test_expect_code 2 git show-ref --exists refs/heads 2>err &&
test_cmp expect err
'