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

Re: [PATCH 2/2] [GSOC] interpret-trailer: easy parse trailer value

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 21, 2021, 13:57 UTC
Message-ID
<xmqq5z1kd2z1.fsf@gitster.g>
In-Reply-To
<CAOLTT8Q7yNscYrYHWJQcsGn67MjWe15nd7SnCEd5QVUG0A6dRg@mail.gmail.com>
ZheNing Hu <adlternative@gmail.com> writes:
Show 16 quoted lines
> Do you think this is appropriate?
>
> @@ -370,5 +370,15 @@ int parse_buffer_signed_by_header(const char *buffer,
>                                   struct strbuf *payload,
>                                   struct strbuf *signature,
>                                   const struct git_hash_algo *algop);
> +/*
> + * Calling `find_author_by_nickname` to find the "author <email>" pair
> + * in the most recent commit which matches "--author=name".
> + *
> + * Note that `find_author_by_nickname` is not reusable, because it haven't
> + * reset flags for parsed objects. The only safe way to use
> `find_author_by_nickname`
> + * (without rewriting the revision traversal machinery) is to spawn a
> + * subprocess and do find_author_by_nickname() in it.
> + */

Telling people not to add any new caller is good, but everything after "because" does not make sense to me.

I do not think calling find_author_by_nickname() in a subprocess alone would not help somebody who wants to do this, either. We'd be doing a moral equivalent of that call, but the result has to be communicated back to the parent process,

In the longer term, we'd probably want to have a pre-computed table of contributors, like we have precomputed files for reachability bitmaps, commit DAG topology, and such, but that is obviously far outside of the scope of this series.

> +const char *find_author_by_nickname(const char *name);
Previous: ZheNing HuNext: ZheNing Hu
Message 6 of 23 in “[GSOC] interpret-trailer: easy parse trailer value”
  1. 0/2 [GSOC] interpret-trailer: easy parse trailer valueZheNing Hu via GitGitGadget, Mar 20, 2021
  2. 1/2 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 20, 2021
  3. 2/2 [GSOC] interpret-trailer: easy parse trailer valueZheNing Hu via GitGitGadget, Mar 20, 2021
  4. Junio C HamanoMar 20, 2021
  5. ZheNing HuMar 21, 2021
  6. Junio C HamanoMar 21, 2021
  7. ZheNing HuMar 21, 2021
  8. 0/2 [GSOC] interpret-trailer: easy parse trailer valueZheNing Hu via GitGitGadget, Mar 21, 2021
  9. 2/2 [GSOC] interpret-trailer: easy parse trailer valueZheNing Hu via GitGitGadget, Mar 21, 2021
  10. Bagas SanjayaMar 21, 2021
  11. ZheNing HuMar 21, 2021
  12. Junio C HamanoMar 21, 2021
  13. Bagas SanjayaMar 22, 2021
  14. Junio C HamanoMar 22, 2021
  15. Christian CouderMar 21, 2021
  16. ZheNing HuMar 21, 2021
  17. Junio C HamanoMar 21, 2021
  18. ZheNing HuMar 22, 2021
  19. Christian CouderMar 22, 2021
  20. ZheNing HuMar 22, 2021
  21. Junio C HamanoMar 22, 2021
  22. ZheNing HuMar 23, 2021
  23. 1/2 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 21, 2021

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.