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

Re: [PATCH v8 1/2] [GSOC] commit: add --trailer option

From
ZheNing Hu <adlternative@gmail.com>
Date
Mar 17, 2021, 13:54 UTC
Message-ID
<CAOLTT8SFd=Zg01kR9rvTO6yh+tSS5VbcLBjAcB+d_DX_NY_HOw@mail.gmail.com>
In-Reply-To
<87wnu6dwxx.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> 于2021年3月17日周三 下午4:08写道:
Show 11 quoted lines
> > Logically speaking, `interpret_trailers` should be dedicated to `commit`
> > or other sub-commands that require trailers.
> >
> > But I think that in the later stage, the parse_options of the `cmd_commit`
> > can keep the unrecognized options, and then these choices can be directly
> > passed to the `interpret_trailers` backend.
>
> We have this interaction with e.g. range-diff and "log", it's often
> surprising. You add an option to one command and it appears in the
> other.
>

All right, I'm wrong, I may have reference to an wrong experience of `difftool`-->`diff`.

Show 38 quoted lines
> >>    It seems to me to be a good idea to (at least for testing) convert
> >>    the --signoff trailer to your implementation. We have plenty of tests
> >>    for it, does migrating it over pass or fail those?
> >>
> > I don’t know how to migrating yet, it may take a long time.
> > Even I think I can leave it as #leftoverbit later.
>
> Sure, I mean (having looked at it) that at least for your own local
> testing it would make sense to change it (even if just search-replacing
> the --signoff in the test suite) to see if it behaves as you
> expect. I.e. does the --trailer behavior mirror --signoff?
>
> >>  * I also agree with Junio that we shouldn't have a --fixed-by or
> >>    whatever and wouldn't add --signoff today, but it seems very useful
> >>    to me to have a shortcut like:
> >>
> >>        --trailer "Signed-off-by"
> >>
> >>    I.e. omitting the value, or:
> >>
> >>       --trailer "Signed-off-by="
> >>
> >>    Or some other thing we deem sufficiently useful/sane
> >>    syntax/unambiguous.n
> >>
> >>    Then the value would be provided by fmt_name(WANT_COMMITTER_IDENT)
> >>    just as we do in append_signoff() now. I think a *very common* case
> >>    for this would be something like:
> >>
> >>        git commit --amend -v --trailer "Reviewed-by"
> >>
> >>    And it would be useful to help that along and not have to do:
> >>
> >>        git commit --amend -v --trailer "Reviewed-by=$(git config user.name) <$(git config user.email)>"
> >>
> >>    Or worse yet, manually typo your name/e-mail address, as I'm sure I
> >>    and many others will inevitably do when using this option...
> >>
Well, that's what I think here:
Now we can go through:

$ git -c trailer.signoff.key = "Signed-off-by" commit --trailer "signoff = commiter <email>"

to get a trailer: "Signed-off-by: commiter <email>", this means we
can't just do simple string
matching in `cmd_commit` to replace `--trailer="Signed-off-by"` or
`--trailer="Reviewed-by"` to
user's own identity, to replace the trailers which have omitting value
 we passed in, but I think
we can provide a new option to `commit` which can mandatory that
trailers with no value can be
 replaced with the identity of the user.
e.g.
$ git -c trailer.signoff.key = "Signed-off-by" commit --trailer
"signoff" --trailer "Helped-by" \
 --trailer "Helped-by = C <E>" --own_ident
will output like this:
Signed-off-by: $(git config user.name) <$(git config user.email)>
Signed-off-by: $(git config user.name) <$(git config user.email)>
Helped-by: $(git config user.name) <$(git config user.email)>
Helped-by: C <E>
I don't know if this idea is good, I will try to do it first.
Thanks.
Previous: Ævar Arnfjörð BjarmasonNext: ZheNing Hu via GitGitGadget
Message 37 of 84 in “[GSOC] commit: provides multiple common signatures”
  1. [GSOC] commit: provides multiple common signaturesZheNing Hu via GitGitGadget, Mar 11, 2021
  2. Shourya ShuklaMar 11, 2021
  3. ZheNing HuMar 12, 2021
  4. Junio C HamanoMar 11, 2021
  5. ZheNing HuMar 12, 2021
  6. ZheNing HuMar 12, 2021
  7. [GSOC] commit: add trailer commandZheNing Hu via GitGitGadget, Mar 12, 2021
  8. Christian CouderMar 14, 2021
  9. ZheNing HuMar 14, 2021
  10. Junio C HamanoMar 14, 2021
  11. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 14, 2021
  12. Rafael SilvaMar 14, 2021
  13. ZheNing HuMar 14, 2021
  14. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 14, 2021
  15. Junio C HamanoMar 14, 2021
  16. ZheNing HuMar 15, 2021
  17. Junio C HamanoMar 15, 2021
  18. ZheNing HuMar 15, 2021
  19. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 15, 2021
  20. Christian CouderMar 15, 2021
  21. Christian CouderMar 15, 2021
  22. ZheNing HuMar 15, 2021
  23. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 15, 2021
  24. Christian CouderMar 15, 2021
  25. ZheNing HuMar 15, 2021
  26. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 15, 2021
  27. Christian CouderMar 15, 2021
  28. Christian CouderMar 15, 2021
  29. ZheNing HuMar 15, 2021
  30. Christian CouderMar 16, 2021
  31. ZheNing HuMar 16, 2021
  32. 0/2 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 15, 2021
  33. 1/2 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 15, 2021
  34. Ævar Arnfjörð BjarmasonMar 16, 2021
  35. ZheNing HuMar 17, 2021
  36. Ævar Arnfjörð BjarmasonMar 17, 2021
  37. ZheNing HuMar 17, 2021
  38. 2/2 interpret_trailers: for three options parse add warningZheNing Hu via GitGitGadget, Mar 15, 2021
  39. Christian CouderMar 16, 2021
  40. ZheNing HuMar 16, 2021
  41. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 16, 2021
  42. Shourya ShuklaMar 17, 2021
  43. ZheNing HuMar 17, 2021
  44. 0/3 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 18, 2021
  45. 1/3 [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 18, 2021
  46. Đoàn Trần Công DanhMar 18, 2021
  47. ZheNing HuMar 19, 2021
  48. 2/3 interpret-trailers: add own-identity optionZheNing Hu via GitGitGadget, Mar 18, 2021
  49. Đoàn Trần Công DanhMar 18, 2021
  50. ZheNing HuMar 19, 2021
  51. Junio C HamanoMar 18, 2021
  52. ZheNing HuMar 19, 2021
  53. Junio C HamanoMar 19, 2021
  54. ZheNing HuMar 20, 2021
  55. Jeff KingMar 20, 2021
  56. Junio C HamanoMar 20, 2021
  57. ZheNing HuMar 20, 2021
  58. ZheNing HuMar 20, 2021
  59. Junio C HamanoMar 20, 2021
  60. ZheNing HuMar 20, 2021
  61. 3/3 commit: add own-identity optionZheNing Hu via GitGitGadget, Mar 18, 2021
  62. Christian CouderMar 18, 2021
  63. ZheNing HuMar 18, 2021
  64. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 19, 2021
  65. Junio C HamanoMar 19, 2021
  66. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 20, 2021
  67. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 22, 2021
  68. Christian CouderMar 22, 2021
  69. ZheNing HuMar 22, 2021
  70. Christian CouderMar 22, 2021
  71. ZheNing HuMar 23, 2021
  72. Junio C HamanoMar 23, 2021
  73. Christian CouderMar 23, 2021
  74. Junio C HamanoMar 23, 2021
  75. ZheNing HuMar 24, 2021
  76. ZheNing HuMar 23, 2021
  77. Christian CouderMar 23, 2021
  78. Junio C HamanoMar 23, 2021
  79. ZheNing HuMar 24, 2021
  80. Christian CouderMar 22, 2021
  81. ZheNing HuMar 23, 2021
  82. [GSOC] commit: add --trailer optionZheNing Hu via GitGitGadget, Mar 23, 2021
  83. Junio C HamanoMar 15, 2021
  84. ZheNing HuMar 15, 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.