[PATCH 2/2] ui-patch: match git-format-patch(1) output

John Keeping john at keeping.me.uk
Sun Dec 28 14:10:33 CET 2014


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 at keeping.me.uk>
---
 tests/t0108-patch.sh | 4 ++--
 ui-patch.c           | 3 ++-
 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);
-- 
2.2.1.286.gdf3164c



More information about the CGit mailing list