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

[PATCH 3/4] verify_tag: use repo_dwim_ref() to get ref fullname and ref_flags

From
ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>
Date
Sep 20, 2021, 07:37 UTC
Message-ID
<4f2f3fc4be468bbde953bd0135e59cd7a36f107f.1632123476.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1042.git.1632123476.gitgitgadget@gmail.com>
From: ZheNing Hu <adlternative@gmail.com>

Since verify-tag cannot currently use %(symref) correctly, we need to get the ref flags from pretty_print_ref() caller. So use repo_dwim_ref() in cmd_verify_tag() to get fullref name and ref flags and pass to pretty_print_ref(), which can help us fix %(symref) feature.

Signed-off-by: ZheNing Hu <adlternative@gmail.com>
---
 builtin/verify-tag.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c
index 403f2080efa..efc8282782a 100644
--- a/builtin/verify-tag.c
+++ b/builtin/verify-tag.c
@@ -59,6 +59,8 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
 	while (i < argc) {
 		struct object_id oid;
 		const char *name = argv[i++];
+		char *refname;
+		int ref_flags;
 
 		if (get_oid(name, &oid)) {
 			had_error = !!error("tag '%s' not found.", name);
@@ -70,8 +72,10 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
 			continue;
 		}
 
+		if (repo_dwim_ref(the_repository, name, strlen(name), &oid, &refname, 0, &ref_flags, 1))
+			name = refname;
 		if (format.format)
-			pretty_print_ref(name, &oid, &format, 0);
+			pretty_print_ref(name, &oid, &format, ref_flags);
 	}
 	return had_error;
 }
-- 
gitgitgadget
Previous: ZheNing Hu via GitGitGadgetNext: ZheNing Hu via GitGitGadget
Message 4 of 5 in “ref-filter: fix %(symref) for pretty_print_ref()”
  1. 0/4 ref-filter: fix %(symref) for pretty_print_ref()ZheNing Hu via GitGitGadget, Sep 20, 2021
  2. 1/4 refs: let repo_dwim_ref() learn get symref itself and ref flagsZheNing Hu via GitGitGadget, Sep 20, 2021
  3. 2/4 ref-filter: provide ref_flags to pretty_print_ref()ZheNing Hu via GitGitGadget, Sep 20, 2021
  4. 3/4 verify_tag: use repo_dwim_ref() to get ref fullname and ref_flagsZheNing Hu via GitGitGadget, Sep 20, 2021
  5. 4/4 ref-filter: let tag verify use %(refname:lstrip=2) by defaultZheNing Hu via GitGitGadget, Sep 20, 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.