aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-interpret-trailers.txt
diff options
context:
space:
mode:
authorZheNing Hu <adlternative@gmail.com>2021-05-03 15:41:04 +0000
committerJunio C Hamano <gitster@pobox.com>2021-05-04 12:09:43 +0900
commit57dcb6575b577a70f02814df4291e8af6ed81f86 (patch)
treef113e6d6825c532ddb3ecc7232a48dafad7b016a /Documentation/git-interpret-trailers.txt
parent2daae3d1d1bf513f1e1c00f1e4df75e1cb500e0f (diff)
downloadgit-57dcb6575b577a70f02814df4291e8af6ed81f86.tar.gz
docs: correct descript of trailer.<token>.command
In the original documentation of `trailer.<token>.command`, some descriptions are easily misunderstood. So let's modify it to increase its readability. In addition, clarify that `$ARG` in command can only be replaced once. Signed-off-by: ZheNing Hu <adlternative@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-interpret-trailers.txt')
-rw-r--r--Documentation/git-interpret-trailers.txt37
1 files changed, 21 insertions, 16 deletions
diff --git a/Documentation/git-interpret-trailers.txt b/Documentation/git-interpret-trailers.txt
index 96ec6499f0..6f2a7a1304 100644
--- a/Documentation/git-interpret-trailers.txt
+++ b/Documentation/git-interpret-trailers.txt
@@ -232,25 +232,30 @@ trailer.<token>.ifmissing::
that option for trailers with the specified <token>.
trailer.<token>.command::
- This option can be used to specify a shell command that will
- be called to automatically add or modify a trailer with the
- specified <token>.
+ This option can be used to specify a shell command that will be called:
+ once to automatically add a trailer with the specified <token>, and then
+ each time a '--trailer <token>=<value>' argument to modify the <value> of
+ the trailer that this option would produce.
+
-When this option is specified, the behavior is as if a special
-'<token>=<value>' argument were added at the beginning of the command
-line, where <value> is taken to be the standard output of the
-specified command with any leading and trailing whitespace trimmed
-off.
+When the specified command is first called to add a trailer
+with the specified <token>, the behavior is as if a special
+'--trailer <token>=<value>' argument was added at the beginning
+of the "git interpret-trailers" command, where <value>
+is taken to be the standard output of the command with any
+leading and trailing whitespace trimmed off.
+
-If the command contains the `$ARG` string, this string will be
-replaced with the <value> part of an existing trailer with the same
-<token>, if any, before the command is launched.
+If some '--trailer <token>=<value>' arguments are also passed
+on the command line, the command is called again once for each
+of these arguments with the same <token>. And the <value> part
+of these arguments, if any, will be used to replace the first
+occurrence of substring `$ARG` in the command. This way the
+command can produce a <value> computed from the <value> passed
+in the '--trailer <token>=<value>' argument.
+
-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.
+For consistency, the first occurrence of substring `$ARG` is
+also replaced, this time with the empty string, in the command
+when the command is first called to add a trailer with the
+specified <token>.
EXAMPLES
--------