Re: [PATCH v7 4/6] verify-tag: prepare verify_tag for libification
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Apr 19, 2016, 19:05 UTC
- Message-ID
- <CAPig+cTO_vC1_N79G9yMkiyjYtEeBdsivz-A4jOMw0r-vRWWaw@mail.gmail.com>
- In-Reply-To
- <1461088041-19264-5-git-send-email-santiago@nyu.edu>
On Tue, Apr 19, 2016 at 1:47 PM, <santiago@nyu.edu> wrote:
Show 9 quoted lines
> The current interface of verify_tag() resolves reference names to SHA1, > however, the plan is to make this functionality public and the current > interface is cumbersome for callers: they are expected to supply the > textual representation of a sha1/refname. In many cases, this requires > them to turn the sha1 to hex representation, just to be converted back > inside verify_tag. > > Add a SHA1 parameter to use instead of the name parameter, and rename > the name parameter to "name_to_report" for reporting purposes only.
I'd have probably called this "display_name", but then I suppose it suffers the same issue Junio mentioned previously about it sounding like a boolean. Anyhow, as long as Junio is happy with it, that's what matters.
This version of the patch is nicely improved. One nit below.
Show 9 quoted lines
> Signed-off-by: Santiago Torres <santiago@nyu.edu>
> ---
> diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c
> @@ -80,6 +83,8 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
> {
> int i = 1, verbose = 0, had_error = 0;
> unsigned flags = 0;
> + unsigned char sha1[20];
> + const char *name;Mentioned previously[1]: These two declarations could be moved inside the while-loop scope (below).
[1]: http://article.gmane.org/gmane.comp.version-control.git/291813
Show 20 quoted lines
> const struct option verify_tag_options[] = {
> OPT__VERBOSE(&verbose, N_("print tag contents")),
> OPT_BIT(0, "raw", &flags, N_("print raw gpg status output"), GPG_VERIFY_RAW),
> @@ -96,8 +101,12 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
> if (verbose)
> flags |= GPG_VERIFY_VERBOSE;
>
> - while (i < argc)
> - if (verify_tag(argv[i++], flags))
> + while (i < argc) {
> + name = argv[i++];
> + if (get_sha1(name, sha1))
> + had_error = !!error("tag '%s' not found.", name);
> + else if (verify_tag(sha1, name, flags))
> had_error = 1;
> + }
> return had_error;
> }
> --
> 2.8.0