From: Kristoffer Haugsbakk <redacted>
Topic name (applied): kh/format-patch-range-diff-notes
Topic summary: Teach 'format-patch' options to tweak notes output in the
range diff independent of what notes are output in the patches.
See patch 2/2 for details.
This is motivated by wanting to turn off range diff notes, but the goal
here is to implement it in full generality.
(How many of us `git format-patch --notes` users are there out there? More
than a dozen? Maybe just D. Ben Knoble and me?)
I have implemented this behavior for myself and used it for many
months. But that was hacky and only suitable for one person’s use.
So this is a completely new implementation. In other words: this is
new code, *not* tested for months.
§ Changes in v3
From patch 2/2:
Remove repeated and redundant `test_when_finished` on
patch files:
https://lore.kernel.org/git/CV_format-patch_learn_--range-diff-notes.c57@msgid.xyz/T/#m06803e233a2e385e694432d45ecf402f7a67e482 (local)
§ Link to v2
https://lore.kernel.org/git/V2_CV_format-patch_learn_--range-diff-notes.cdb@m5gid.xyz/ (local)
[1/2] format-patch: simplify get_notes_arg parameters
[2/2] format-patch: learn --[no-]range-diff-notes
Documentation/git-format-patch.adoc | 15 +++++
builtin/log.c | 62 +++++++++++++++++++--
t/t3206-range-diff.sh | 86 +++++++++++++++++++++++++++++
3 files changed, 157 insertions(+), 6 deletions(-)
Interdiff against v2:
diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh
index 640c5dec52e..679a707c873 100755
--- a/t/t3206-range-diff.sh
+++ b/t/t3206-range-diff.sh
@@ -860,7 +860,6 @@ test_expect_success 'format-patch --range-diff-notes=not-a-note (no --range-diff
test_when_finished "rm -f 000?-*" &&
git format-patch --range-diff-notes=not-a-note --cover-letter \
main..unmodified &&
- test_when_finished "rm -f 000?-*" &&
test_file_not_empty 0000-cover-letter* &&
test_grep ! "^Range-diff:" 0000-cover-letter* &&
test_grep ! "## Notes " 0000-cover-letter*
Range-diff against v2:
1: 977f9c2e97a = 1: 977f9c2e97a format-patch: simplify get_notes_arg parameters
2: bf66e94e376 ! 2: 748759ca021 format-patch: learn --[no-]range-diff-notes
@@ Commit message
## Notes (testing) ##
- CI: https://github.com/LemmingAvalanche/git/actions/runs/36231842902
-
- This run is on a previous iteration where v1 patch/commit 2/3 was still
- there. But that is just a rename. So I compiled and tested
- `t/t3206-range-diff.sh` and took that as proof that the full CI/build run
- is still valid.
+ For v3: only compiled and ran `t3206-range-diff`.
## Documentation/git-format-patch.adoc ##
@@ Documentation/git-format-patch.adoc: case is to show comparison with an older iteration of the same
@@ t/t3206-range-diff.sh: test_expect_success 'format-patch --range-diff with multi
+ test_when_finished "rm -f 000?-*" &&
+ git format-patch --range-diff-notes=not-a-note --cover-letter \
+ main..unmodified &&
-+ test_when_finished "rm -f 000?-*" &&
+ test_file_not_empty 0000-cover-letter* &&
+ test_grep ! "^Range-diff:" 0000-cover-letter* &&
+ test_grep ! "## Notes " 0000-cover-letter*
base-commit: 1a3e64c6c4a623626ff0687008732a8e007e2a1c
--
2.55.0.793.gc667de3f2c5