I have carefully read the upstream callers of resolve_gitlink_ref()
and determined that they don't care about errno. So let's move away
from the errno-setting refs_resolve_ref_unsafe() wrapper to
refs_resolve_ref_unsafe_with_errno(), and explicitly ignore the errno
it sets for us.
Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
---
refs.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/refs.c b/refs.c
index 91320f092fb..7a9cdb1d720 100644
--- a/refs.c
+++ b/refs.c
@@ -1814,14 +1814,15 @@ int resolve_gitlink_ref(const char *submodule, const char *refname,
{
struct ref_store *refs;
int flags;
+ int ignore_errno;
refs = get_submodule_ref_store(submodule);
if (!refs)
return -1;
- if (!refs_resolve_ref_unsafe(refs, refname, 0, oid, &flags) ||
- is_null_oid(oid))
+ if (!refs_resolve_ref_unsafe_with_errno(refs, refname, 0, oid, &flags,
+ &ignore_errno) || is_null_oid(oid))
return -1;
return 0;
}--
2.32.0-dev