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

Re: git interpret-trailers with multiple keys

From
MTMichael S. Tsirkin <mst@redhat.com>
Date
Apr 10, 2016, 15:32 UTC
Message-ID
<20160410182750-mutt-send-email-mst@redhat.com>
In-Reply-To
<CAP8UFD0Pw+yhO1jZTAbMkZ5d-usu3rx5N0Se=PNL=N7DD-BPcA@mail.gmail.com>
On Wed, Apr 06, 2016 at 10:28:21PM -0400, Christian Couder wrote:
Show 47 quoted lines
> On Wed, Apr 6, 2016 at 3:30 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Wed, Apr 06, 2016 at 10:42:42AM -0700, Junio C Hamano wrote:
> >> "Michael S. Tsirkin" <mst@redhat.com> writes:
> >>
> >> > On Wed, Apr 06, 2016 at 06:58:30PM +0200, Matthieu Moy wrote:
> >> >> "Michael S. Tsirkin" <mst@redhat.com> writes:
> >> >>
> >> >> > I have this in .git/config
> >> >> >
> >> >> > [trailer "r"]
> >> >> >         key = Reviewed-by
> >> >> >         command = "echo \"Michael S. Tsirkin <mst@redhat.com\""
> >> >> > [trailer "s"]
> >> >> >         key = Signed-off-by
> >> >> >         command = "echo \"Michael S. Tsirkin <mst@redhat.com\""
> >> >> >
> >> >> > whenever I run git interpret-trailers -t r I see these lines added:
> >> >> >
> >> >> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com
> >> >> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com
> >> >> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com
> >> >> >
> >> >> > Why is Reviewed-by repeated?  Bug or feature?
> >> >>
> >> >> The first two lines are added unconditionally:
> >> >>
> >> >> $ echo | git interpret-trailers
> >> >>
> >> >> Reviewed-by: Michael S. Tsirkin <mst@redhat.com
> >> >> Signed-off-by: Michael S. Tsirkin <mst@redhat.com
> >> >>
> >> >> The last line is added because you've asked for it with --trailer r.
> 
> Yes, and because the default is to add the trailer at the end.
> 
> >> >> I don't think it's currently possible to get the behavior you seem to
> >> >> expect, ie. to define trailer tokens fully (key and value) in your
> >> >> config file but use them only on request.
> 
> Yes, because you could define for example a function like this:
> 
> reviewed() {
>     git interpret-trailers --trailer 'Reviewed-by: Michael S. Tsirkin
> <mst@redhat.com>' --in-place "$@"
> }
> 
> So it is kind of easy already to make things requestable.

Not if any commands are configured. interpret-trailers will insist on running them in any case.

> If people really want some configured trailers to be used only on
> request, it is possible to add a config option for that.
this is not what the documentation says though:
           If some <token>=<value> arguments are also passed on the
		command line, when a trailer.<token>.command is configured, the
           command will also be executed for each of these arguments.
		And the <value> part of these arguments, if any, will be used to
           replace the $ARG string in the command.
so it says command *for a given token* is run.

I would say that if people really want to run all trailers while also passing some on command line, *that* should be a config option. Current default violates the principle of least surprise.

Show 27 quoted lines
> >> >> (BTW, I think you wanted a closing > at the end)
> >> >
> >> > Is this worth fixing? It doesn't look like a behaviour anyone
> >> > would want...
> >>
> >> CC'ing Christian who's done the "trailers" thing.
> >>
> >> Personally, I do not think adding any configured trailers without
> >> being asked is a sensible behaviour, but it is likely that people
> >> already depend on it, as we seem to see "How do I configure to
> >> always add this and that trailer?" from time to time.  I do not
> >> think it is unreasonable to disable the "automatically add
> >> everything that is configured" when the command line arguments ask
> >> for some specific trailer, but I haven't thought deeply about it.
> >>
> >> An additional (uninformed) observation is that the 'echo' looks like
> >> an ugly workaround for the lack of "always use this string as the
> >> value" configuration.
> >
> > Or at least a default.
> >
> >> Perhaps next to trailer.<token>.command, we
> >> would need trailer.<token>.value?
> 
> Yeah, that is possible too.
> It could be bit redundant if we already have a config option to say if
> the trailer has to be requested.

Seems unrelated - if one just wants a string, using echo as a command is inefficient and inconvenient.

-- 
MST
Previous: Christian CouderNext: Christian Couder
Message 7 of 12 in “git interpret-trailers with multiple keys”
  1. Michael S. TsirkinApr 6, 2016
  2. Matthieu MoyApr 6, 2016
  3. Michael S. TsirkinApr 6, 2016
  4. Junio C HamanoApr 6, 2016
  5. Michael S. TsirkinApr 6, 2016
  6. Christian CouderApr 7, 2016
  7. Michael S. TsirkinApr 10, 2016
  8. Christian CouderApr 10, 2016
  9. Michael S. TsirkinApr 10, 2016
  10. Michael S. TsirkinApr 10, 2016
  11. Matthieu MoyApr 11, 2016
  12. Michael S. TsirkinApr 11, 2016

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.