]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs API: make loose_fill_ref_dir() not set errno
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Sat, 16 Oct 2021 09:39:16 +0000 (11:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 16 Oct 2021 18:17:03 +0000 (11:17 -0700)
Change the refs_resolve_ref_unsafe() invoked in loose_fill_ref_dir()
to a form that ignores errno. The only eventual caller of this
function is create_ref_cache(), whose callers in turn don't have their
failure depend on any errno set here.

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

index 482d04de03a6041c45c964f88d58f06c06ea1b09..759c21e88ae8bfd6a244b64d8cdfe951c13b3d55 100644 (file)
@@ -280,10 +280,11 @@ static void loose_fill_ref_dir(struct ref_store *ref_store,
                                         create_dir_entry(dir->cache, refname.buf,
                                                          refname.len));
                } else {
-                       if (!refs_resolve_ref_unsafe(&refs->base,
+                       int ignore_errno;
+                       if (!refs_werrres_ref_unsafe(&refs->base,
                                                     refname.buf,
                                                     RESOLVE_REF_READING,
-                                                    &oid, &flag)) {
+                                                    &oid, &flag, &ignore_errno)) {
                                oidclr(&oid);
                                flag |= REF_ISBROKEN;
                        } else if (is_null_oid(&oid)) {