ui-patch: match git-format-patch(1) output

Using (DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH) causes Git to emit a
"---" line between the commit message and the body of the patch, which
fixes a regression introduced in commit 455b598 (ui-patch.c: Use
log_tree_commit() to generate diffs, 2013-08-20), prior to which we
inserted the "---" line ourselves.

DIFF_FORMAT_SUMMARY is added so that we match the output of
git-format-patch(1) without the "-p" option.

Signed-off-by: John Keeping <john@keeping.me.uk>
upstream
John Keeping 10 years ago committed by Jason A. Donenfeld
parent ce8f490229
commit 7552266aac
  1. 4
      tests/t0108-patch.sh
  2. 3
      ui-patch.c

@ -25,7 +25,7 @@ test_expect_success 'find `cgit` signature' '
test_expect_success 'compare with output of git-format-patch(1)' '
CGIT_VERSION=$(sed -n "s/CGIT_VERSION = //p" ../../VERSION) &&
git --git-dir="$PWD/repos/foo/.git" format-patch -p --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD^ >tmp2 &&
git --git-dir="$PWD/repos/foo/.git" format-patch --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD^ >tmp2 &&
strip_headers <tmp >tmp_ &&
test_cmp tmp_ tmp2
'
@ -54,7 +54,7 @@ test_expect_success 'find `cgit` signature' '
test_expect_success 'compare with output of git-format-patch(1)' '
CGIT_VERSION=$(sed -n "s/CGIT_VERSION = //p" ../../VERSION) &&
git --git-dir="$PWD/repos/foo/.git" format-patch -p -N --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD~3..HEAD >tmp2 &&
git --git-dir="$PWD/repos/foo/.git" format-patch -N --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD~3..HEAD >tmp2 &&
strip_headers <tmp >tmp_ &&
test_cmp tmp_ tmp2
'

@ -73,7 +73,8 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
rev.diff = 1;
rev.show_root_diff = 1;
rev.max_parents = 1;
rev.diffopt.output_format |= DIFF_FORMAT_PATCH;
rev.diffopt.output_format |= DIFF_FORMAT_DIFFSTAT |
DIFF_FORMAT_PATCH | DIFF_FORMAT_SUMMARY;
setup_revisions(ARRAY_SIZE(rev_argv), (const char **)rev_argv, &rev,
NULL);
prepare_revision_walk(&rev);

Loading…
Cancel
Save