| `trailer.separators`:: |
| This option tells which characters are recognized as trailer |
| separators. By default only `:` is recognized as a trailer |
| separator, except that `=` is always accepted on the command |
| line for compatibility with other git commands. |
| + |
| The first character given by this option will be the default character |
| used when another separator is not specified in the config for this |
| trailer. |
| + |
| For example, if the value for this option is `%=$`, then only lines |
| using the format _<key><sep><value>_ with _<sep>_ containing `%`, `=` |
| or `$` and then spaces will be considered trailers. And `%` will be |
| the default separator used, so by default trailers will appear like: |
| `<key>% <value>` (one percent sign and one space will appear between |
| the key and the value). |
| |
| `trailer.where`:: |
| This option tells where a new trailer will be added. |
| + |
| This can be `end`, which is the default, `start`, `after` or `before`. |
| + |
| If it is `end`, then each new trailer will appear at the end of the |
| existing trailers. |
| + |
| If it is `start`, then each new trailer will appear at the start, |
| instead of the end, of the existing trailers. |
| + |
| If it is `after`, then each new trailer will appear just after the |
| last trailer with the same _<key>_. |
| + |
| If it is `before`, then each new trailer will appear just before the |
| first trailer with the same _<key>_. |
| |
| `trailer.ifexists`:: |
| This option makes it possible to choose what action will be |
| performed when there is already at least one trailer with the |
| same _<key>_ in the input. |
| + |
| The valid values for this option are: `addIfDifferentNeighbor` (this |
| is the default), `addIfDifferent`, `add`, `replace` or `doNothing`. |
| + |
| With `addIfDifferentNeighbor`, a new trailer will be added only if no |
| trailer with the same (_<key>_, _<value>_) pair is above or below the line |
| where the new trailer will be added. |
| + |
| With `addIfDifferent`, a new trailer will be added only if no trailer |
| with the same (_<key>_, _<value>_) pair is already in the input. |
| + |
| With `add`, a new trailer will be added, even if some trailers with |
| the same (_<key>_, _<value>_) pair are already in the input. |
| + |
| With `replace`, an existing trailer with the same _<key>_ will be |
| deleted and the new trailer will be added. The deleted trailer will be |
| the closest one (with the same _<key>_) to the place where the new one |
| will be added. |
| + |
| With `doNothing`, nothing will be done; that is no new trailer will be |
| added if there is already one with the same _<key>_ in the input. |
| |
| `trailer.ifmissing`:: |
| This option makes it possible to choose what action will be |
| performed when there is not yet any trailer with the same |
| _<key>_ in the input. |
| + |
| The valid values for this option are: `add` (this is the default) and |
| `doNothing`. |
| + |
| With `add`, a new trailer will be added. |
| + |
| With `doNothing`, nothing will be done. |
| |
| `trailer.<key-alias>.key`:: |
| Defines a _<key-alias>_ for the _<key>_. The _<key-alias>_ must be a |
| prefix (case does not matter) of the _<key>_. For example, in `git |
| config trailer.ack.key "Acked-by"` the `Acked-by` is the _<key>_ and |
| the `ack` is the _<key-alias>_. This configuration allows the shorter |
| `--trailer "ack:..."` invocation on the command line using the "ack" |
| `<key-alias>` instead of the longer `--trailer "Acked-by:..."`. |
| + |
| At the end of the _<key>_, a separator can appear and then some |
| space characters. By default the only valid separator is `:`, |
| but this can be changed using the `trailer.separators` config |
| variable. |
| + |
| If there is a separator in the key, then it overrides the default |
| separator when adding the trailer. |
| |
| `trailer.<key-alias>.where`:: |
| This option takes the same values as the `trailer.where` |
| configuration variable and it overrides what is specified by |
| that option for trailers with the specified _<key-alias>_. |
| |
| `trailer.<key-alias>.ifexists`:: |
| This option takes the same values as the `trailer.ifexists` |
| configuration variable and it overrides what is specified by |
| that option for trailers with the specified _<key-alias>_. |
| |
| `trailer.<key-alias>.ifmissing`:: |
| This option takes the same values as the `trailer.ifmissing` |
| configuration variable and it overrides what is specified by |
| that option for trailers with the specified _<key-alias>_. |
| |
| `trailer.<key-alias>.command`:: |
| Deprecated in favor of `trailer.<key-alias>.cmd`. |
| This option behaves in the same way as `trailer.<key-alias>.cmd`, except |
| that it doesn't pass anything as argument to the specified command. |
| Instead the first occurrence of substring `$ARG` is replaced by the |
| _<value>_ that would be passed as argument. |
| + |
| Note that `$ARG` in the user's command is |
| only replaced once and that the original way of replacing `$ARG` is not safe. |
| + |
| When both `trailer.<key-alias>.cmd` and `trailer.<key-alias>.command` are given |
| for the same _<key-alias>_, `trailer.<key-alias>.cmd` is used and |
| `trailer.<key-alias>.command` is ignored. |
| |
| `trailer.<key-alias>.cmd`:: |
| This option can be used to specify a shell command that will be called |
| once to automatically add a trailer with the specified _<key-alias>_, and then |
| called each time a `--trailer <key-alias>=<value>` argument is specified to |
| modify the _<value>_ of the trailer that this option would produce. |
| + |
| When the specified command is first called to add a trailer |
| with the specified _<key-alias>_, the behavior is as if a special |
| `--trailer <key-alias>=<value>` argument was added at the beginning |
| of linkgit:git-interpret-trailers[1], where _<value>_ is taken to be the |
| standard output of the command with any leading and trailing whitespace |
| trimmed off. |
| + |
| If some `--trailer <key-alias>=<value>` arguments are also passed |
| on the command line, the command is called again once for each |
| of these arguments with the same _<key-alias>_. And the _<value>_ part |
| of these arguments, if any, will be passed to the command as its |
| first argument. This way the command can produce a _<value>_ computed |
| from the _<value>_ passed in the `--trailer <key-alias>=<value>` |
| argument. |