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

[PATCH v2 18/21] refs API: make expand_ref() & repo_dwim_log() not set errno

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Oct 16, 2021, 09:39 UTC
Message-ID
<patch-v2-18.21-146b030a142-20211016T093845Z-avarab@gmail.com>
In-Reply-To
<cover-v2-00.21-00000000000-20211016T093845Z-avarab@gmail.com>

The use of these two is rather trivial, and it's easy to see none of their callers care about errno. So let's move them from refs_resolve_ref_unsafe() to refs_resolve_ref_unsafe_with_errno(), these were the last two callers, so we can get rid of that wrapper function.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 refs.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/refs.c b/refs.c
index b563729782b..43fe9e6d89d 100644
--- a/refs.c
+++ b/refs.c
@@ -654,13 +654,16 @@ int expand_ref(struct repository *repo, const char *str, int len,
 		struct object_id oid_from_ref;
 		struct object_id *this_result;
 		int flag;
+		struct ref_store *refs = get_main_ref_store(repo);
+		int ignore_errno;
 
 		this_result = refs_found ? &oid_from_ref : oid;
 		strbuf_reset(&fullref);
 		strbuf_addf(&fullref, *p, len, str);
-		r = refs_resolve_ref_unsafe(get_main_ref_store(repo),
-					    fullref.buf, RESOLVE_REF_READING,
-					    this_result, &flag);
+		r = refs_werrres_ref_unsafe(refs, fullref.buf,
+					    RESOLVE_REF_READING,
+					    this_result, &flag,
+					    &ignore_errno);
 		if (r) {
 			if (!refs_found++)
 				*ref = xstrdup(r);
@@ -689,12 +692,14 @@ int repo_dwim_log(struct repository *r, const char *str, int len,
 	for (p = ref_rev_parse_rules; *p; p++) {
 		struct object_id hash;
 		const char *ref, *it;
+		int ignore_errno;
 
 		strbuf_reset(&path);
 		strbuf_addf(&path, *p, len, str);
-		ref = refs_resolve_ref_unsafe(refs, path.buf,
+		ref = refs_werrres_ref_unsafe(refs, path.buf,
 					      RESOLVE_REF_READING,
-					      oid ? &hash : NULL, NULL);
+					      oid ? &hash : NULL, NULL,
+					      &ignore_errno);
 		if (!ref)
 			continue;
 		if (refs_reflog_exists(refs, path.buf))
-- 
2.33.1.1338.g20da966911a
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 43 of 45 in “refs: stop having the API set "errno"”
  1. 00/20 refs: stop having the API set "errno"Ævar Arnfjörð Bjarmason, Oct 14, 2021
  2. 01/20 branch tests: test for errno propagating on failing readÆvar Arnfjörð Bjarmason, Oct 14, 2021
  3. Eric SunshineOct 14, 2021
  4. 02/20 refs API: add a version of refs_resolve_ref_unsafe() with "errno"Ævar Arnfjörð Bjarmason, Oct 14, 2021
  5. 03/20 refs API: make refs_read_raw_ref() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  6. 04/20 refs API: make parse_loose_ref_contents() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  7. 05/20 refs API: make refs_rename_ref_available() staticÆvar Arnfjörð Bjarmason, Oct 14, 2021
  8. 06/20 refs/files: remove "name exist?" check in lock_ref_oid_basic()Ævar Arnfjörð Bjarmason, Oct 14, 2021
  9. Junio C HamanoOct 14, 2021
  10. 07/20 refs API: remove refs_read_ref_full() wrapperÆvar Arnfjörð Bjarmason, Oct 14, 2021
  11. 08/20 refs API: make resolve_gitlink_ref() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  12. 09/20 refs API: make loose_fill_ref_dir() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  13. 10/20 refs API: make files_copy_or_rename_ref() et al not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  14. 11/20 refs API: ignore errno in worktree.c's add_head_info()Ævar Arnfjörð Bjarmason, Oct 14, 2021
  15. 12/20 refs API: ignore errno in worktree.c's find_shared_symref()Ævar Arnfjörð Bjarmason, Oct 14, 2021
  16. 14/20 refs API: make refs_resolve_refdup() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  17. 13/20 refs tests: ignore ignore errno in test-ref-store helperÆvar Arnfjörð Bjarmason, Oct 14, 2021
  18. 15/20 refs API: make refs_ref_exists() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  19. 16/20 refs API: make resolve_ref_unsafe() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  20. 17/20 refs API: make expand_ref() & repo_dwim_log() not set errnoÆvar Arnfjörð Bjarmason, Oct 14, 2021
  21. 18/20 refs API: don't expose "errno" in run_transaction_hook()Ævar Arnfjörð Bjarmason, Oct 14, 2021
  22. 20/20 refs API: post-migration API renaming [2/2]Ævar Arnfjörð Bjarmason, Oct 14, 2021
  23. 19/20 refs API: post-migration API renaming [1/2]Ævar Arnfjörð Bjarmason, Oct 14, 2021
  24. 00/21 refs: stop having the API set "errno"Ævar Arnfjörð Bjarmason, Oct 16, 2021
  25. 04/21 refs API: make parse_loose_ref_contents() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  26. 06/21 reflog tests: add --updateref testsÆvar Arnfjörð Bjarmason, Oct 16, 2021
  27. 03/21 refs API: make refs_read_raw_ref() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  28. 01/21 branch tests: test for errno propagating on failing readÆvar Arnfjörð Bjarmason, Oct 16, 2021
  29. 08/21 refs API: remove refs_read_ref_full() wrapperÆvar Arnfjörð Bjarmason, Oct 16, 2021
  30. 02/21 refs API: add a version of refs_resolve_ref_unsafe() with "errno"Ævar Arnfjörð Bjarmason, Oct 16, 2021
  31. 05/21 refs API: make refs_rename_ref_available() staticÆvar Arnfjörð Bjarmason, Oct 16, 2021
  32. 07/21 refs/files: remove "name exist?" check in lock_ref_oid_basic()Ævar Arnfjörð Bjarmason, Oct 16, 2021
  33. 09/21 refs API: make resolve_gitlink_ref() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  34. 10/21 refs API: make loose_fill_ref_dir() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  35. 12/21 refs API: ignore errno in worktree.c's add_head_info()Ævar Arnfjörð Bjarmason, Oct 16, 2021
  36. 11/21 refs API: make files_copy_or_rename_ref() et al not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  37. 14/21 refs tests: ignore ignore errno in test-ref-store helperÆvar Arnfjörð Bjarmason, Oct 16, 2021
  38. 17/21 refs API: make resolve_ref_unsafe() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  39. 13/21 refs API: ignore errno in worktree.c's find_shared_symref()Ævar Arnfjörð Bjarmason, Oct 16, 2021
  40. 16/21 refs API: make refs_ref_exists() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  41. 15/21 refs API: make refs_resolve_refdup() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  42. 20/21 refs API: post-migration API renaming [1/2]Ævar Arnfjörð Bjarmason, Oct 16, 2021
  43. 18/21 refs API: make expand_ref() & repo_dwim_log() not set errnoÆvar Arnfjörð Bjarmason, Oct 16, 2021
  44. 19/21 refs API: don't expose "errno" in run_transaction_hook()Ævar Arnfjörð Bjarmason, Oct 16, 2021
  45. 21/21 refs API: post-migration API renaming [2/2]Ævar Arnfjörð Bjarmason, Oct 16, 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.