Re: [PATCH 2/2] [GSOC] interpret-trailer: easy parse trailer value
Junio C Hamano <gitster@pobox.com> 于2021年3月21日周日 上午5:06写道:
Show 19 quoted lines
>
> "ZheNing Hu via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
> > diff --git a/commit.h b/commit.h
> > index 49c0f503964e..970a73ccd5be 100644
> > --- a/commit.h
> > +++ b/commit.h
> > @@ -371,4 +371,6 @@ int parse_buffer_signed_by_header(const char *buffer,
> > struct strbuf *signature,
> > const struct git_hash_algo *algop);
> >
> > +const char *find_author_by_nickname(const char *name);
> > +
> > #endif /* COMMIT_H */
>
> As I already said, we do not want to pretend that this is a
> generally reusable helper function. We should at least have a
> comment to tell people to never add new callers to this function,
> with explanation of the reason.
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.
+ */
+const char *find_author_by_nickname(const char *name);
Thanks.