[PATCH v3 00/10] range-diff: learn `--notes`
- From
Denton Liu <liu.denton@gmail.com>
- Date
- Nov 20, 2019, 21:18 UTC
- Message-ID
- <cover.1574284470.git.liu.denton@gmail.com>
- In-Reply-To
- <cover.1574207673.git.liu.denton@gmail.com>
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 <liu.denton@gmail.com>
## 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 <liu.denton@gmail.com>
## 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