From 154717b3b0b0631fb6700d5fc77e779106530fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Sun, 28 Dec 2025 19:10:49 +0100 Subject: [PATCH] tag: support arbitrary repositories in gpg_verify_tag() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow callers of gpg_verify_tag() specify the repository to use by providing a parameter for that. One of the two has not been using the_repository since 43a8391977 (builtin/verify-tag: stop using `the_repository`, 2025-03-08); let it pass in the correct repository. The other simply passes the_repository to get the same result as before. Signed-off-by: René Scharfe Signed-off-by: Junio C Hamano --- builtin/tag.c | 2 +- builtin/verify-tag.c | 2 +- tag.c | 12 ++++++------ tag.h | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/builtin/tag.c b/builtin/tag.c index 01eba90c5c..aeb04c487f 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -149,7 +149,7 @@ static int verify_tag(const char *name, const char *ref UNUSED, if (format->format) flags = GPG_VERIFY_OMIT_STATUS; - if (gpg_verify_tag(oid, name, flags)) + if (gpg_verify_tag(the_repository, oid, name, flags)) return -1; if (format->format) diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index 558121eaa1..4a261b2369 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -61,7 +61,7 @@ int cmd_verify_tag(int argc, continue; } - if (gpg_verify_tag(&oid, name, flags)) { + if (gpg_verify_tag(repo, &oid, name, flags)) { had_error = 1; continue; } diff --git a/tag.c b/tag.c index dec5ea8eb0..9373c49d06 100644 --- a/tag.c +++ b/tag.c @@ -44,28 +44,28 @@ static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags) return ret; } -int gpg_verify_tag(const struct object_id *oid, const char *name_to_report, - unsigned flags) +int gpg_verify_tag(struct repository *r, const struct object_id *oid, + const char *name_to_report, unsigned flags) { enum object_type type; char *buf; unsigned long size; int ret; - type = odb_read_object_info(the_repository->objects, oid, NULL); + type = odb_read_object_info(r->objects, oid, NULL); if (type != OBJ_TAG) return error("%s: cannot verify a non-tag object of type %s.", name_to_report ? name_to_report : - repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(r, oid, DEFAULT_ABBREV), type_name(type)); - buf = odb_read_object(the_repository->objects, oid, &type, &size); + buf = odb_read_object(r->objects, oid, &type, &size); if (!buf) return error("%s: unable to read file.", name_to_report ? name_to_report : - repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(r, oid, DEFAULT_ABBREV)); ret = run_gpg_verify(buf, size, flags); diff --git a/tag.h b/tag.h index ef12a61037..55c2d0792b 100644 --- a/tag.h +++ b/tag.h @@ -16,7 +16,7 @@ int parse_tag_buffer(struct repository *r, struct tag *item, const void *data, u int parse_tag(struct tag *item); void release_tag_memory(struct tag *t); struct object *deref_tag(struct repository *r, struct object *, const char *, int); -int gpg_verify_tag(const struct object_id *oid, +int gpg_verify_tag(struct repository *r, const struct object_id *oid, const char *name_to_report, unsigned flags); struct object_id *get_tagged_oid(struct tag *tag);