git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: ZheNing Hu <adlternative@gmail.com>
Cc: ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>,
	git <git@vger.kernel.org>,
	"Bradley M. Kuhn" <bkuhn@sfconservancy.org>,
	Junio C Hamano <gitster@pobox.com>,
	Brandon Casey <drafnel@gmail.com>,
	Shourya Shukla <periperidip@gmail.com>,
	Rafael Silva <rafaeloliveira.cs@gmail.com>
Subject: Re: [PATCH v7] [GSOC] commit: add --trailer option
Date: Tue, 16 Mar 2021 06:37:32 +0100	[thread overview]
Message-ID: <CAP8UFD0+xVTD4t=dgAx0YYxw5G5VinQL1VR+5KW+GypNg1o=Kg@mail.gmail.com> (raw)
In-Reply-To: <CAOLTT8QTxnykacdDaMjZMkEqTHPSrPz6HH-bSgbECo5tUgf5Gg@mail.gmail.com>

On Mon, Mar 15, 2021 at 12:32 PM ZheNing Hu <adlternative@gmail.com> wrote:
>
> Christian Couder <christian.couder@gmail.com> 于2021年3月15日周一 下午6:14写道:
> >
> > On Mon, Mar 15, 2021 at 10:08 AM ZheNing Hu via GitGitGadget
> > <gitgitgadget@gmail.com> wrote:
> >
> > >       + if (trailer_args.nr) {
> > >      -+         static struct child_process run_trailer = CHILD_PROCESS_INIT;
> > >      ++         struct child_process run_trailer = CHILD_PROCESS_INIT;
> > >       +
> > >       +         strvec_pushl(&run_trailer.args, "interpret-trailers",
> > >       +                      "--in-place", "--where=end", git_path_commit_editmsg(), NULL);
> >
> > Actually I don't think "--where=end" should be used here. "end" is the
> > default for the "trailer.where" config variable, so by default if
> > nothing has been configured, it will work as if "--where=end" was
> > passed above.
> >
> > If a user has configured "trailer.where" or trailer.<token>.where,
> > then this should be respected. And users should be able to override
> > such config variable using for example:
> >
> > git -c trailer.where=start commit --trailer "Signed-off-by:C O Mitter
> > <committer@example.com>"
>
> Thanks for reminding, generally speaking, we will put the trailer at the
> end of the commit messages.Take trailers in start, this should be
> something I haven't considered.

In general what I want to say is that `git interpret-trailers` should
be considered to have sensible defaults, that can possibly be
overridden using a number of config variables (or the git -c ...
mechanism) which is a good thing. If something in it doesn't work
well, it's possible to improve it of course. Otherwise it's better to
just fully take advantage of it.

> I notice another question:
> if we commit this again with same trailer (even same email or same commiter)
> `--trailer` will not work again, because in `interpret_trailers`,
> "if-exists" default
> set to "addIfDifferentNeighbor", I addvice enforce use "if-exists="add".

I don't agree with using "--if-exists=add". I think the default to not
add a trailer line if it would be just above or below the same line is
better, as doing that wouldn't add much information. It's better to
encourage people to use trailers in a meaningful way.

And again if we use "--if-exists=add", then people who would want to
take advantage of `git interpret-trailers` to customize what happens
when the trailer already exists would not be able to do it.

For example if we don't use "--if-exists=add", then:

- people who want to customize what happens when the trailer already
exists can do it with for example:

git -c trailer.ifexists=addIfDifferent commit --trailer
"Signed-off-by:C O Mitter <committer@example.com>"

- which means that people who want the "--if-exists=add" behavior can
still have it with:

git -c trailer.ifexists=add commit --trailer "Signed-off-by:C O Mitter
<committer@example.com>"

While if we use "--if-exists=add", then using `git -c
trailer.ifexists=... commit ...` will not customize anything as the
"--if-exists=add" command line option will override any config
customization.

  reply	other threads:[~2021-03-16  5:38 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-11  7:16 [PATCH] [GSOC] commit: provides multiple common signatures ZheNing Hu via GitGitGadget
2021-03-11 15:03 ` Shourya Shukla
2021-03-12 11:41   ` ZheNing Hu
2021-03-11 17:28 ` Junio C Hamano
2021-03-12 12:01   ` ZheNing Hu
2021-03-12 13:22   ` ZheNing Hu
2021-03-12 15:54 ` [PATCH v2] [GSOC] commit: add trailer command ZheNing Hu via GitGitGadget
2021-03-14  4:19   ` Christian Couder
2021-03-14  7:09     ` ZheNing Hu
2021-03-14 22:45     ` Junio C Hamano
2021-03-14 13:02   ` [PATCH v3] [GSOC] commit: add --trailer option ZheNing Hu via GitGitGadget
2021-03-14 13:10     ` Rafael Silva
2021-03-14 14:13       ` ZheNing Hu
2021-03-14 15:58     ` [PATCH v4] " ZheNing Hu via GitGitGadget
2021-03-14 23:52       ` Junio C Hamano
2021-03-15  1:27         ` ZheNing Hu
2021-03-15  4:42           ` Junio C Hamano
2021-03-15  5:14             ` ZheNing Hu
2021-03-15  3:24       ` [PATCH v5] " ZheNing Hu via GitGitGadget
2021-03-15  5:33         ` Christian Couder
2021-03-15  5:41           ` Christian Couder
2021-03-15  5:46           ` ZheNing Hu
2021-03-15  6:35         ` [PATCH v6] " ZheNing Hu via GitGitGadget
2021-03-15  8:02           ` Christian Couder
2021-03-15  8:21             ` ZheNing Hu
2021-03-15  9:08           ` [PATCH v7] " ZheNing Hu via GitGitGadget
2021-03-15 10:00             ` Christian Couder
2021-03-15 10:14             ` Christian Couder
2021-03-15 11:32               ` ZheNing Hu
2021-03-16  5:37                 ` Christian Couder [this message]
2021-03-16  8:35                   ` ZheNing Hu
2021-03-15 13:07             ` [PATCH v8 0/2] " ZheNing Hu via GitGitGadget
2021-03-15 13:07               ` [PATCH v8 1/2] " ZheNing Hu via GitGitGadget
2021-03-16 12:52                 ` Ævar Arnfjörð Bjarmason
2021-03-17  2:01                   ` ZheNing Hu
2021-03-17  8:08                     ` Ævar Arnfjörð Bjarmason
2021-03-17 13:54                       ` ZheNing Hu
2021-03-15 13:07               ` [PATCH v8 2/2] interpret_trailers: for three options parse add warning ZheNing Hu via GitGitGadget
2021-03-16  5:53                 ` Christian Couder
2021-03-16  9:11                   ` ZheNing Hu
2021-03-16 10:39               ` [PATCH v9] [GSOC] commit: add --trailer option ZheNing Hu via GitGitGadget
2021-03-17  5:26                 ` Shourya Shukla
2021-03-17  6:06                   ` ZheNing Hu
2021-03-18 11:15                 ` [PATCH v10 0/3] " ZheNing Hu via GitGitGadget
2021-03-18 11:15                   ` [PATCH v10 1/3] " ZheNing Hu via GitGitGadget
2021-03-18 16:29                     ` Đoàn Trần Công Danh
2021-03-19  7:56                       ` ZheNing Hu
2021-03-18 11:15                   ` [PATCH v10 2/3] interpret-trailers: add own-identity option ZheNing Hu via GitGitGadget
2021-03-18 16:45                     ` Đoàn Trần Công Danh
2021-03-19  8:04                       ` ZheNing Hu
2021-03-18 19:20                     ` Junio C Hamano
2021-03-19  9:33                       ` ZheNing Hu
2021-03-19 15:36                         ` Junio C Hamano
2021-03-20  2:54                           ` ZheNing Hu
2021-03-20  5:06                             ` Jeff King
2021-03-20  5:50                               ` Junio C Hamano
2021-03-20  6:16                                 ` ZheNing Hu
2021-03-20  6:38                                   ` ZheNing Hu
2021-03-20  6:53                                     ` Junio C Hamano
2021-03-20  8:43                                       ` ZheNing Hu
2021-03-18 11:15                   ` [PATCH v10 3/3] commit: " ZheNing Hu via GitGitGadget
2021-03-18 13:47                   ` [PATCH v10 0/3] [GSOC] commit: add --trailer option Christian Couder
2021-03-18 15:27                     ` ZheNing Hu
2021-03-19 12:05                   ` [PATCH v11] " ZheNing Hu via GitGitGadget
2021-03-19 17:48                     ` Junio C Hamano
2021-03-20 13:41                     ` [PATCH v12] " ZheNing Hu via GitGitGadget
2021-03-22  4:24                       ` [PATCH v13] " ZheNing Hu via GitGitGadget
2021-03-22  7:43                         ` Christian Couder
2021-03-22 10:23                           ` ZheNing Hu
2021-03-22 21:34                             ` Christian Couder
2021-03-23  6:11                               ` ZheNing Hu
2021-03-23  6:19                               ` Junio C Hamano
2021-03-23  7:57                                 ` Christian Couder
2021-03-23 17:11                                   ` Junio C Hamano
2021-03-24  5:21                                     ` ZheNing Hu
2021-03-23 10:35                                 ` ZheNing Hu
2021-03-23 12:41                                   ` Christian Couder
2021-03-23 17:12                                   ` Junio C Hamano
2021-03-24  5:25                                     ` ZheNing Hu
2021-03-22 21:55                             ` Christian Couder
2021-03-23  6:29                               ` ZheNing Hu
2021-03-23 13:55                         ` [PATCH v14] " ZheNing Hu via GitGitGadget
2021-03-15  4:38       ` [PATCH v4] " Junio C Hamano
2021-03-15  5:11         ` ZheNing Hu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP8UFD0+xVTD4t=dgAx0YYxw5G5VinQL1VR+5KW+GypNg1o=Kg@mail.gmail.com' \
    --to=christian.couder@gmail.com \
    --cc=adlternative@gmail.com \
    --cc=bkuhn@sfconservancy.org \
    --cc=drafnel@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    --cc=periperidip@gmail.com \
    --cc=rafaeloliveira.cs@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).