On Tue, Jun 07, 2016 at 05:08:56PM -0400, Jeff King wrote:
> On Tue, Jun 07, 2016 at 03:56:08PM -0400, [email protected] wrote:
>
> > diff --git a/tag.c b/tag.c
> > index d1dcd18..591b31e 100644
> > --- a/tag.c
> > +++ b/tag.c
> > @@ -55,6 +55,14 @@ int gpg_verify_tag(const unsigned char *sha1, const char
> > *name_to_report,
> >
> > ret = run_gpg_verify(buf, size, flags);
> >
> > + if (flags & TAG_VERIFY_NAME) {
> > + struct tag tag_info;
> > + ret += parse_tag_buffer(&tag_info, buf, size);
> > + if strncmp(tag_info.tag, name_to_report, size)
> > + ret += error("tag name doesn't match tag header!(%s)",
> > + tag_info.tag);
> > + }
>
> Er, is this C? :)
Yeah, I promise this would be a "cleaner" patch in the future :P
>
> I think the general idea of an option to check the tag-name is a good
> one. But there are some corner cases to think about:
>
> 1. What name are we comparing against? Presumably it comes from the
> name the user gave us that resolved to the tag object. We would
> want to shorten "refs/tags/v1.4" to just "v1.4", I would think.
>
> Would a user ever want to pass a different tagname?
Yeah, I was wondering this. It might be convenient for them to call
git verify-tag --check-name [name] [ref]
In case the ref doesn't match the tag. I can do it either way, although
the second case would be cumbersome.
>
> 2. What do we do for non-annotated tags? Is it always a failure?
Right now, verify-tag fails with non-annotated tags like this:
santiago at ~/.../git ✔ ./git-verify-tag master
error: master: cannot verify a non-tag object of type commit.
Although we could change this behavior. I would have to check how git
tag -v works as this behavior might change.
>
> -Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html