Subject: [PATCH v2 0/2] [GSOC] interpret-trailer: easy parse trailer value

From: "ZheNing Hu via GitGitGadget" <[email-masked]>
Date: Sun, 21 Mar 2021 08:58:52 +0000

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