[PATCH v2 0/2] [GSOC] interpret-trailer: easy parse trailer value
- From
ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Mar 21, 2021, 08:58 UTC
- Message-ID
- <pull.911.v2.git.1616317134.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.911.git.1616251299.gitgitgadget@gmail.com>
Hope this can help commit --trailer more useful!
Base on https://github.com/gitgitgadget/git/pull/901, The original patch series was too long so now split it into two.
Helped by Junio and Jeff, Thanks.
ZheNing Hu (2): [GSOC] commit: add --trailer option [GSOC] interpret-trailer: easy parse trailer value
Documentation/git-commit.txt | 14 +- Documentation/git-interpret-trailers.txt | 23 ++ builtin/commit.c | 55 ++-- commit.c | 34 +++ commit.h | 10 + t/t7502-commit-porcelain.sh | 319 +++++++++++++++++++++++ t/t7513-interpret-trailers.sh | 23 ++ trailer.c | 13 +- 8 files changed, 456 insertions(+), 35 deletions(-)
base-commit: 13d7ab6b5d7929825b626f050b62a11241ea4945 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-911%2Fadlternative%2Ftrailer-easy-ident-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-911/adlternative/trailer-easy-ident-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/911
Range-diff vs v1:
1: 2378e3b4c1ae = 1: 2378e3b4c1ae [GSOC] commit: add --trailer option
2: ca521d3c01d6 ! 2: 8b8b236a4ffb [GSOC] interpret-trailer: easy parse trailer value
@@ commit.c: int run_commit_hook(int editor_is_used, const char *index_file,
## commit.h ##
@@ commit.h: 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);
-+
+
#endif /* COMMIT_H */
## t/t7502-commit-porcelain.sh ##-- gitgitgadget