[PATCH 00/14] format-patch: add --interdiff and --range-diff options
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jul 22, 2018, 09:57 UTC
- Message-ID
- <20180722095717.17912-1-sunshine@sunshineco.com>
When re-submitting a patch series, it is often helpful (for reviewers) to include an interdiff or range-diff against the previous version. Doing so requires manually running git-diff or git-range-diff and copy/pasting the result into the cover letter of the new version.
This series automates the process by introducing git-format-patch options --interdiff and --range-diff which insert such a diff into the cover-letter or into the commentary section of the lone patch of a 1-patch series. In the latter case, the interdiff or range-diff is indented to avoid confusing git-am and human readers.
Patches 1-6 add --interdiff and can apply directly on 'master'. Patches 7-14 add --range-diff and apply atop js/range-diff v4[1].
An earlier RFC[2] implemented only --range-diff, and only for the cover-letter.
Changes since the RFC:
* add --interdiff option for cover-letter and lone patch
* based on js/range-diff v4[1]
* --range-diff works with lone patch (no longer limited to cover letter)
* --range-diff colors output when used with --stdout, just as patches themselves are already colored
* --range-diff takes advantage of libified range-diff mechanism in v4 rather than invoking git-range-diff command
No interdiff or range-diff is included in this cover-letter since the implementation changed dramatically.
[1]: https://public-inbox.org/git/pull.1.v4.git.gitgitgadget@gmail.com/ [2]: https://public-inbox.org/git/20180530080325.37520-1-sunshine@sunshineco.com/
Eric Sunshine (14):
format-patch: allow additional generated content in
make_cover_letter()
format-patch: add --interdiff option to embed diff in cover letter
format-patch: teach --interdiff to respect -v/--reroll-count
interdiff: teach show_interdiff() to indent interdiff
log-tree: show_log: make commentary block delimiting reusable
format-patch: allow --interdiff to apply to a lone-patch
range-diff: respect diff_option.file rather than assuming 'stdout'
range-diff: publish default creation factor
range-diff: relieve callers of low-level configuration burden
format-patch: add --range-diff option to embed diff in cover letter
format-patch: extend --range-diff to accept revision range
format-patch: teach --range-diff to respect -v/--reroll-count
format-patch: add --creation-factor tweak for --range-diff
format-patch: allow --range-diff to apply to a lone-patchDocumentation/git-format-patch.txt | 29 ++++++ Makefile | 1 + builtin/log.c | 139 ++++++++++++++++++++++++----- builtin/range-diff.c | 25 ++---- interdiff.c | 28 ++++++ interdiff.h | 8 ++ log-tree.c | 52 +++++++++-- range-diff.c | 26 +++++- range-diff.h | 5 +- revision.h | 11 +++ t/t3206-range-diff.sh | 12 +++ t/t4014-format-patch.sh | 34 +++++++ 12 files changed, 319 insertions(+), 51 deletions(-) create mode 100644 interdiff.c create mode 100644 interdiff.h
-- 2.18.0.345.g5c9ce644c3