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

Re: [PATCH v9 11/11] Documentation: add documentation for 'git interpret-trailers'

From
Christian Couder <chriscool@tuxfamily.org>
Date
Apr 7, 2014, 18:58 UTC
Message-ID
<20140407.205800.839733420387302333.chriscool@tuxfamily.org>
In-Reply-To
<xmqq4n25nkt0.fsf@gitster.dls.corp.google.com>
From: Junio C Hamano <gitster@pobox.com>
Show 9 quoted lines
>
> Christian Couder <christian.couder@gmail.com> writes:
> 
>> First accepting both ':' and '=' means one can see the "git
>> interpret-trailers" as acting on trailers only. Not just on trailers
>> from the intput message and option parameters from the command line.
> 
> Sorry, you lost me.  What does "acting on trailers only" really
> mean?

It means that the command can seen as processing only trailers, (from stdin and from its arguments), sorry if I used the wrong verb.

Show 17 quoted lines
> Do you mean the command should/can be run without any command
> line options, pick up the existing "Signed-off-by:" and friends in
> its input and emit its output, somehow taking these existing ones as
> its instruction regarding how to transform the input to its output?
>
>> And second there is also a practical advantage, as the user can
>> copy-paste trailers directly from other messages into the command line
>> to pass them as arguments to "git interpret-trailers" without the need
>> to replace the ':' with '='. Even if this command is not often used
>> directly by users, it might simplify scripts using it.
>>
>> Third there is a technical advantage which is that the code that
>> parses arguments from the command line can be the same as the code
>> that parses trailers from the input message.
> 
> I do not see these two as valid arguments to make the command line
> more complex to the end users
I don't think that it makes the command more complex to the end users.
> ---who now need to know that only this
> command treats its command line in a funny way, accepting a colon in
> place of an equal sign.

It accepts both. So if they think that it is like a regular command, which uses '=' for (key, value) pairs, it will work, and if they think it works on trailers, which use ':' for (key, value) pairs, it will also work.

Show 14 quoted lines
> A different way to sell a colon, e.g.
> 
>     Consider the instruction sed takes on its command line.
>     (e.g. "sed 's/frotz/nitfol/' <xyzzy").  In the most general
>     form, you would always give it as the value of an '-e' option
>     (e.g. "sed -e 's/frotz/nitfol' <xyzzy"), but you are allowed to
>     be loose in limited occassions.  "Key:value" is like that, and
>     in the most general form, it actually needs to be spelled as
>     "-e 'Key:value'".
> 
> is possible, but I do not think it is a particularly good analogy,
> because what you have as the alternative is "Key=value", and not
> "-e 'Key:value'", or "--Key=value" (the last would probably be the 
> most natural way to express this).

The analogy that I would use is rather that Perl lets people use 's:foo:bar:' as well as 's=foo=bar=' instead of 's/foo/bar/' if they prefer.

Previous: Junio C HamanoNext: Junio C Hamano
Message 22 of 24 in “Add interpret-trailers builtin”
  1. 00/11 Add interpret-trailers builtinChristian Couder, Apr 1, 2014
  2. 01/11 trailer: add data structures and basic functionsChristian Couder, Apr 1, 2014
  3. 02/11 trailer: process trailers from stdin and argumentsChristian Couder, Apr 1, 2014
  4. 03/11 trailer: read and process config informationChristian Couder, Apr 1, 2014
  5. 04/11 trailer: process command line trailer argumentsChristian Couder, Apr 1, 2014
  6. 05/11 trailer: parse trailers from stdinChristian Couder, Apr 1, 2014
  7. 06/11 trailer: put all the processing together and printChristian Couder, Apr 1, 2014
  8. 07/11 trailer: add interpret-trailers commandChristian Couder, Apr 1, 2014
  9. 08/11 trailer: add tests for "git interpret-trailers"Christian Couder, Apr 1, 2014
  10. Junio C HamanoApr 1, 2014
  11. Junio C HamanoApr 1, 2014
  12. Christian CouderApr 2, 2014
  13. 09/11 trailer: execute command from 'trailer.<name>.command'Christian Couder, Apr 1, 2014
  14. 10/11 trailer: add tests for commands in config fileChristian Couder, Apr 1, 2014
  15. 11/11 Documentation: add documentation for 'git interpret-trailers'Christian Couder, Apr 1, 2014
  16. Jonathan NiederApr 2, 2014
  17. Christian CouderApr 2, 2014
  18. Junio C HamanoApr 4, 2014
  19. Junio C HamanoApr 4, 2014
  20. Christian CouderApr 7, 2014
  21. Junio C HamanoApr 7, 2014
  22. Christian CouderApr 7, 2014
  23. Junio C HamanoApr 7, 2014
  24. Junio C HamanoApr 7, 2014

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.