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@xxxxxxxxx/ [2]: https://public-inbox.org/git/20180530080325.37520-1-sunshine@xxxxxxxxxxxxxx/ 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-patch Documentation/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