git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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-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
Next: Eric Sunshine
Message 1 of 38 in “format-patch: add --interdiff and --range-diff options”
  1. 00/14 format-patch: add --interdiff and --range-diff optionsEric Sunshine, Jul 22, 2018
  2. 01/14 format-patch: allow additional generated content in make_cover_letter()Eric Sunshine, Jul 22, 2018
  3. 02/14 format-patch: add --interdiff option to embed diff in cover letterEric Sunshine, Jul 22, 2018
  4. Eric SunshineJul 22, 2018
  5. Duy NguyenJul 23, 2018
  6. Eric SunshineJul 23, 2018
  7. Junio C HamanoJul 23, 2018
  8. 03/14 format-patch: teach --interdiff to respect -v/--reroll-countEric Sunshine, Jul 22, 2018
  9. Duy NguyenJul 23, 2018
  10. Eric SunshineJul 23, 2018
  11. 04/14 interdiff: teach show_interdiff() to indent interdiffEric Sunshine, Jul 22, 2018
  12. 05/14 log-tree: show_log: make commentary block delimiting reusableEric Sunshine, Jul 22, 2018
  13. 06/14 format-patch: allow --interdiff to apply to a lone-patchEric Sunshine, Jul 22, 2018
  14. Duy NguyenJul 23, 2018
  15. Eric SunshineJul 23, 2018
  16. 08/14 range-diff: publish default creation factorEric Sunshine, Jul 22, 2018
  17. 09/14 range-diff: relieve callers of low-level configuration burdenEric Sunshine, Jul 22, 2018
  18. 10/14 format-patch: add --range-diff option to embed diff in cover letterEric Sunshine, Jul 22, 2018
  19. Duy NguyenJul 23, 2018
  20. Eric SunshineJul 23, 2018
  21. Junio C HamanoJul 25, 2018
  22. Eric SunshineJul 25, 2018
  23. Junio C HamanoJul 25, 2018
  24. Duy NguyenJul 25, 2018
  25. 07/14 range-diff: respect diff_option.file rather than assuming 'stdout'Eric Sunshine, Jul 22, 2018
  26. Stefan BellerJul 23, 2018
  27. Eric SunshineJul 23, 2018
  28. Junio C HamanoJul 25, 2018
  29. 12/14 format-patch: teach --range-diff to respect -v/--reroll-countEric Sunshine, Jul 22, 2018
  30. 14/14 format-patch: allow --range-diff to apply to a lone-patchEric Sunshine, Jul 22, 2018
  31. Junio C HamanoJul 25, 2018
  32. Eric SunshineSep 7, 2018
  33. 13/14 format-patch: add --creation-factor tweak for --range-diffEric Sunshine, Jul 22, 2018
  34. 11/14 format-patch: extend --range-diff to accept revision rangeEric Sunshine, Jul 22, 2018
  35. Junio C HamanoJul 25, 2018
  36. Eric SunshineSep 7, 2018
  37. Duy NguyenJul 23, 2018
  38. Eric SunshineJul 23, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.