git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] refs: print errno for read_raw_ref if GIT_TRACE_REFS is set

From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
Date
Apr 12, 2021, 19:32 UTC
Message-ID
<pull.1002.git.git.1618255954484.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>
The ref backend API uses errno as a sideband error channel.
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
    refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
    
    The ref backend API uses errno as a sideband error channel.
    
    Signed-off-by: Han-Wen Nienhuys hanwen@google.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1002%2Fhanwen%2Ferrno-debug-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1002/hanwen/errno-debug-v1
Pull-Request: https://github.com/git/git/pull/1002
 refs/debug.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/refs/debug.c b/refs/debug.c
index 922e64fa6ad9..576bf98e74ae 100644
--- a/refs/debug.c
+++ b/refs/debug.c
@@ -244,6 +244,7 @@ static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname,
 	int res = 0;
 
 	oidcpy(oid, &null_oid);
+	errno = 0;
 	res = drefs->refs->be->read_raw_ref(drefs->refs, refname, oid, referent,
 					    type);
 
@@ -251,7 +252,9 @@ static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname,
 		trace_printf_key(&trace_refs, "read_raw_ref: %s: %s (=> %s) type %x: %d\n",
 			refname, oid_to_hex(oid), referent->buf, *type, res);
 	} else {
-		trace_printf_key(&trace_refs, "read_raw_ref: %s: %d\n", refname, res);
+		trace_printf_key(&trace_refs,
+				 "read_raw_ref: %s: %d (errno %d)\n", refname,
+				 res, errno);
 	}
 	return res;
 }

base-commit: 89b43f80a514aee58b662ad606e6352e03eaeee4
-- 
gitgitgadget
Next: Junio C Hamano
Message 1 of 7 in “refs: print errno for read_raw_ref if GIT_TRACE_REFS is set”
  1. refs: print errno for read_raw_ref if GIT_TRACE_REFS is setHan-Wen Nienhuys via GitGitGadget, Apr 12, 2021
  2. Junio C HamanoApr 12, 2021
  3. Han-Wen NienhuysApr 13, 2021
  4. Han-Wen NienhuysApr 13, 2021
  5. Junio C HamanoApr 13, 2021
  6. Han-Wen NienhuysApr 23, 2021
  7. refs: print errno for read_raw_ref if GIT_TRACE_REFS is setHan-Wen Nienhuys via GitGitGadget, Apr 13, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.