tag: support arbitrary repositories in gpg_verify_tag()

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 <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2025-12-28 19:10:49 +01:00 committed by Junio C Hamano
parent e61f227d06
commit 154717b3b0
4 changed files with 9 additions and 9 deletions

View File

@ -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)

View File

@ -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;
}

12
tag.c
View File

@ -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);

2
tag.h
View File

@ -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);