Subject: [PATCH v3 0/5] pretty format %(trailers): improve machine readability

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Wed, 9 Dec 2020 16:52:03 +0100

A minor iteration on v2 with a commit message wording change &
s/=BOOL/=<BOOL>/g in the docs, as suggested by Christian
Couder. Range-diff below:

Ævar Arnfjörð Bjarmason (5):
  pretty format %(trailers) test: split a long line
  pretty format %(trailers) doc: avoid repetition
  pretty-format %(trailers): fix broken standalone "valueonly"
  pretty format %(trailers): add a "keyonly"
  pretty format %(trailers): add a "key_value_separator"

 Documentation/pretty-formats.txt | 34 ++++++-----
 pretty.c                         | 10 ++++
 t/t4205-log-pretty-formats.sh    | 99 +++++++++++++++++++++++++++++++-
 trailer.c                        | 15 ++++-
 trailer.h                        |  2 +
 5 files changed, 141 insertions(+), 19 deletions(-)

Range-diff:
1:  4b134a62aec = 1:  584c7580b5b pretty format %(trailers) test: split a long line
2:  0d3fe6daf6c ! 2:  0255a64949b pretty format %(trailers) doc: avoid repetition
    @@ Commit message
     
         It took me a couple of readings to realize that these options were
         referring back to the "only" option's treatment of boolean
    -    values. Let's try to make this more explicit, and upper-case "BOOL"
    -    for consistency with the existing "<SEP>" and "<K>".
    +    values.
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
     
    @@ Documentation/pretty-formats.txt: endif::git-rev-list[]
     -   `false`, `off`, `no` to show the non-trailer lines. If option is
     -   given without value it is enabled. If given multiple times the last
     -   value is used.
    -+** 'only[=BOOL]': select whether non-trailer lines from the trailer
    ++** 'only[=<BOOL>]': select whether non-trailer lines from the trailer
     +   block should be included.
      ** 'separator=<SEP>': specify a separator inserted between trailer
         lines. When this option is not given each trailer line is
    @@ Documentation/pretty-formats.txt: endif::git-rev-list[]
     -** 'unfold[=val]': make it behave as if interpret-trailer's `--unfold`
     -   option was given. In same way as to for `only` it can be followed
     -   by an equal sign and explicit value. E.g.,
    -+** 'unfold[=BOOL]': make it behave as if interpret-trailer's `--unfold`
    ++** 'unfold[=<BOOL>]': make it behave as if interpret-trailer's `--unfold`
     +   option was given. E.g.,
         `%(trailers:only,unfold=true)` unfolds and shows all trailer lines.
     -** 'valueonly[=val]': skip over the key part of the trailer line and only
     -   show the value part. Also this optionally allows explicit value.
    -+** 'valueonly[=BOOL]': skip over the key part of the trailer line and only
    ++** 'valueonly[=<BOOL>]': skip over the key part of the trailer line and only
     +   show the value part.
      
      NOTE: Some placeholders may depend on other options given to the
3:  ea44eeff510 = 3:  c2c5513942f pretty-format %(trailers): fix broken standalone "valueonly"
4:  4fd193fd90c ! 4:  574ef0be25f pretty format %(trailers): add a "keyonly"
    @@ Commit message
     
      ## Documentation/pretty-formats.txt ##
     @@ Documentation/pretty-formats.txt: option is given with no value, it's enabled.
    - ** 'unfold[=BOOL]': make it behave as if interpret-trailer's `--unfold`
    + ** 'unfold[=<BOOL>]': make it behave as if interpret-trailer's `--unfold`
         option was given. E.g.,
         `%(trailers:only,unfold=true)` unfolds and shows all trailer lines.
    --** 'valueonly[=BOOL]': skip over the key part of the trailer line and only
    +-** 'valueonly[=<BOOL>]': skip over the key part of the trailer line and only
     -   show the value part.
    -+** 'keyonly[=BOOL]': only show the key part of the trailer.
    -+** 'valueonly[=BOOL]': only show the value part of the trailer.
    ++** 'keyonly[=<BOOL>]': only show the key part of the trailer.
    ++** 'valueonly[=<BOOL>]': only show the value part of the trailer.
      
      NOTE: Some placeholders may depend on other options given to the
      revision traversal engine. For example, the `%g*` reflog options will
5:  6cc6fc79388 ! 5:  dbc73b951f6 pretty format %(trailers): add a "key_value_separator"
    @@ Commit message
      ## Documentation/pretty-formats.txt ##
     @@ Documentation/pretty-formats.txt: option is given with no value, it's enabled.
         `%(trailers:only,unfold=true)` unfolds and shows all trailer lines.
    - ** 'keyonly[=BOOL]': only show the key part of the trailer.
    - ** 'valueonly[=BOOL]': only show the value part of the trailer.
    + ** 'keyonly[=<BOOL>]': only show the key part of the trailer.
    + ** 'valueonly[=<BOOL>]': only show the value part of the trailer.
     +** 'key_value_separator=<SEP>': specify a separator inserted between
     +   trailer lines. When this option is not given each trailer key-value
     +   pair is separated by ": ". Otherwise it shares the same semantics
-- 
2.29.2.222.g5d2a92d10f8