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

Re: [PATCH v6 4/6] verify-tag: add sha1 argument to verify_tag()

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Apr 18, 2016, 17:41 UTC
Message-ID
<CAPig+cSGR-AZPzPRenm8RkOa7XpUOqMAgUw_8p-OUL=qP0Hy6w@mail.gmail.com>
In-Reply-To
<1460932021-27633-5-git-send-email-santiago@nyu.edu>
On Sun, Apr 17, 2016 at 6:26 PM,  <santiago@nyu.edu> wrote:
> verify-tag: add sha1 argument to verify_tag()

Mentioned previously[1]: This subject is talking about low level details of the change rather than giving a high-level overview. A suggested replacement[1] would be:

    verify-tag: prepare verify_tag() for libification
> The current interface of verify_tag() resolves reference names to SHA1,
> which might be redundant as future callers may resolve the refname to
> SHA1 beforehand.

There is no mention here that the plan is to libify verify_tag() and "might be redundant" is a somewhat weak way to argue in favor of this change. The commit messages proposed in the previous review[1] was more explicit:

    verify_tag() accepts a tag name which it resolves to a SHA1
    before verification, however, the plan is to make this
    functionality public and it is possible that future callers will
    already have a SHA1 in hand. Since it would be wasteful for them
    to supply a tag name only to have it resolved again, change
    verify_tag() to accept a tag SHA1 rather than a name.
> Add a SHA1 parameter to use instead of the name parameter. We also
> replace the name argument to report_name and use it for error reporting
> only.

The patch itself looks okay, though see a few nits below (which may not be worth a re-roll).

[1]: http://article.gmane.org/gmane.comp.version-control.git/290829
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 +79,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;
Nit: These could have been declared in the scope of the while-loop
(below) since you've added braces to it.
Show 8 quoted lines
> @@ -96,8 +97,14 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
> -       while (i < argc)
> -               if (verify_tag(argv[i++], flags))
> +       while (i < argc) {
> +               name = argv[i++];
> +               if (get_sha1(name, sha1)) {
> +                       error("tag '%s' not found.", name);
>                         had_error = 1;
These lines could be combined:
    had_error = !!error("tag '%s' not found.", name);
which would allow you to drop the braces.
> +               }
> +               else if (verify_tag(sha1, name, flags))
> +                       had_error = 1;
Style: cuddle '}' and else:
    } else
> +       }
>         return had_error;
>  }
Previous: santiago@nyu.eduNext: Junio C Hamano
Message 8 of 15 in “Move PGP verification out of verify-tag”
  1. 0/6 Move PGP verification out of verify-tagsantiago@nyu.edu, Apr 17, 2016
  2. 1/6 builtin/verify-tag.c: ignore SIGPIPE in gpg-interfacesantiago@nyu.edu, Apr 17, 2016
  3. 2/6 t7030: test verifying multiple tagssantiago@nyu.edu, Apr 17, 2016
  4. 3/6 verify-tag: change variable name for readabilitysantiago@nyu.edu, Apr 17, 2016
  5. Eric SunshineApr 18, 2016
  6. Jeff KingApr 19, 2016
  7. 4/6 verify-tag: add sha1 argument to verify_tag()santiago@nyu.edu, Apr 17, 2016
  8. Eric SunshineApr 18, 2016
  9. Junio C HamanoApr 18, 2016
  10. 5/6 verify-tag: move verification code to tag.csantiago@nyu.edu, Apr 17, 2016
  11. 6/6 tag -v: verfy directly rather than exec-ing verify-tagsantiago@nyu.edu, Apr 17, 2016
  12. Eric SunshineApr 18, 2016
  13. Eric SunshineApr 18, 2016
  14. Junio C HamanoApr 18, 2016
  15. Jeff KingApr 19, 2016

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.