Subject: [PATCH v3 00/10] range-diff: learn `--notes`

From: Denton Liu <[email-masked]>
Date: Wed, 20 Nov 2019 13:18:23 -0800

This patchset teaches range-diff and format-patch to pass `--notes`
options down to the `git log` machinery. This should make the behaviour
more configurable for users who either don't want notes to be displayed
or want multiple notes refs to be displayed.

Changes since v2:

* Changed --notes=<treeish> to --notes=<ref>

* Added "t3206: disable parameter substitution in heredoc"

* Updated the commit message of "range-diff: pass through --notes to `git log`"

Changes since v1:

* Complete overhaul of approach

Denton Liu (10):
  argv-array: add space after `while`
  rev-list-options.txt: remove reference to --show-notes
  pretty-options.txt: --notes accepts a ref instead of treeish
  t3206: remove spaces after redirect operators
  t3206: disable parameter substitution in heredoc
  t3206: s/expected/expect/
  t3206: range-diff compares logs with commit notes
  range-diff: output `## Notes ##` header
  range-diff: pass through --notes to `git log`
  format-patch: pass notes configuration to range-diff

 Documentation/git-range-diff.txt   |   6 +-
 Documentation/pretty-options.txt   |   8 +-
 Documentation/rev-list-options.txt |   2 +-
 argv-array.c                       |   2 +-
 builtin/log.c                      |  24 ++-
 builtin/range-diff.c               |   6 +-
 log-tree.c                         |   2 +-
 range-diff.c                       |  21 ++-
 range-diff.h                       |   4 +-
 t/t3206-range-diff.sh              | 266 +++++++++++++++++++++++++----
 10 files changed, 291 insertions(+), 50 deletions(-)

Range-diff against v2:
 1:  396ac06b0d =  1:  fd78742570 argv-array: add space after `while`
 2:  8cc7c8fe72 =  2:  e1b023a6fc rev-list-options.txt: remove reference to --show-notes
 -:  ---------- >  3:  4989956f12 pretty-options.txt: --notes accepts a ref instead of treeish
 3:  22f5f07ace =  4:  85fcacf3f9 t3206: remove spaces after redirect operators
 -:  ---------- >  5:  855a3df542 t3206: disable parameter substitution in heredoc
 4:  922db36e7e =  6:  92df18b261 t3206: s/expected/expect/
 5:  d8ecda2d5e !  7:  093d32ac4f t3206: demonstrate current notes behavior
    @@ Metadata
     Author: Denton Liu <[email-masked]>
     
      ## Commit message ##
    -    t3206: demonstrate current notes behavior
    +    t3206: range-diff compares logs with commit notes
     
         The test suite had a blindspot where it did not check the behavior of
         range-diff and format-patch when notes were present. Cover this
 6:  7dd0b93b0b =  8:  2d1c849ecc range-diff: output `## Notes ##` header
 7:  587a02a39c !  9:  9c144e14c5 range-diff: passthrough --[no-]notes to `git log`
    @@ Metadata
     Author: Denton Liu <[email-masked]>
     
      ## Commit message ##
    -    range-diff: passthrough --[no-]notes to `git log`
    +    range-diff: pass through --notes to `git log`
     
         When a commit being range-diff'd has a note attached to it, the note
         will be compared as well. However, if a user has multiple notes refs or
         if they want to suppress notes from being printed, there is currently no
         way to do this.
     
    -    Passthrough `---no--notes` to the `git log` call so that this option is
    -    customizable.
    +    Pass through `--[no-]notes[=<ref>]` to the `git log` call so that this
    +    option is customizable.
     
      ## Documentation/git-range-diff.txt ##
     @@ Documentation/git-range-diff.txt: to revert to color all lines according to the outer diff markers
      	See the ``Algorithm`` section below for an explanation why this is
      	needed.
      
    -+--[no-]notes[=<treeish>]::
    ++--[no-]notes[=<ref>]::
     +	This flag is passed to the `git log` program
     +	(see linkgit:git-log[1]) that generates the patches.
     +
 8:  ce8cff7d0c = 10:  86318b3fe7 format-patch: pass notes configuration to range-diff
-- 
2.24.0.450.g7a9a4598a9