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
ZheNing Hu <adlternative@gmail.com>
Date
Mar 21, 2021, 14:12 UTC
Message-ID
<CAOLTT8SMUg+gmz84HM-XhGJYJMhYTtZaU5D5GSW34Fxn4o_6TQ@mail.gmail.com>
In-Reply-To
<xmqq5z1kd2z1.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> 于2021年3月21日周日 下午9:57写道:
Show 28 quoted lines
>
> ZheNing Hu <adlternative@gmail.com> writes:
>
> > 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,
>
What I am thinking about here is that `commit --trailer` itself jumps to a
sub-process to do this, but this does depend on the fact that
`interpret-trailers`
 itself does not have a traversal, and indeed should not be arbitrarily call it.
Show 5 quoted lines
> 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.
>

Indeed this will be a very big project. But `.mailmap` always makes me feel similar.

> > +const char *find_author_by_nickname(const char *name);
Previous: Junio C HamanoNext: ZheNing Hu via GitGitGadget
Message 7 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.