]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs/files: remove unused "errno != ENOTDIR" condition
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Mon, 23 Aug 2021 11:36:14 +0000 (13:36 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Aug 2021 20:27:37 +0000 (13:27 -0700)
As a follow-up to the preceding commit where we removed the adjacent
"errno == EISDIR" condition in the same function, remove the
"last_errno != ENOTDIR" condition here.

It's not possible for us to hit this condition added in
5b2d8d6f218 (lock_ref_sha1_basic(): improve diagnostics for ref D/F
conflicts, 2015-05-11). Since a1c1d8170db (refs_resolve_ref_unsafe:
handle d/f conflicts for writes, 2017-10-06) we've explicitly caught
these in refs_resolve_ref_unsafe() before returning NULL:

if (errno != ENOENT &&
    errno != EISDIR &&
    errno != ENOTDIR)
return NULL;

We'd then always return the refname from refs_resolve_ref_unsafe()
even if we were in a broken state as explained in the preceding
commit. The elided context here is a call to refs_resolve_ref_unsafe().

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs/files-backend.c

index bed2ab25c3a641f3c7f01aff74129a5697edca0a..ab666af4b7548f7c3fff26b8c07694974e1c813c 100644 (file)
@@ -893,8 +893,7 @@ static struct ref_lock *lock_ref_oid_basic(struct files_ref_store *refs,
                                     RESOLVE_REF_NO_RECURSE,
                                     &lock->old_oid, type)) {
                last_errno = errno;
-               if (last_errno != ENOTDIR ||
-                   !refs_verify_refname_available(&refs->base, refname,
+               if (!refs_verify_refname_available(&refs->base, refname,
                                                   NULL, NULL, err))
                        strbuf_addf(err, "unable to resolve reference '%s': %s",
                                    refname, strerror(last_errno));