about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2014-12-28 13:10:33 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2014-12-28 14:44:44 +0100
commit7552266aaccb9445e082fc04215afcb55ad543d8 (patch)
treea0e40b860a87415d2a097cae63b2332c639f2b89
parentt0108: modernize style (diff)
downloadcgit-pink-7552266aaccb9445e082fc04215afcb55ad543d8.tar.gz
cgit-pink-7552266aaccb9445e082fc04215afcb55ad543d8.zip
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>
-rwxr-xr-xtests/t0108-patch.sh4
-rw-r--r--ui-patch.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/tests/t0108-patch.sh b/tests/t0108-patch.sh
index 4e8aba3..013d680 100755
--- a/tests/t0108-patch.sh
+++ b/tests/t0108-patch.sh
@@ -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
 '
diff --git a/ui-patch.c b/ui-patch.c
index fc6c145..6ec89b4 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -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);