Merge branch 'jk/maint-format-patch-p-suppress-stat'
* jk/maint-format-patch-p-suppress-stat: format-patch: make "-p" suppress diffstat
This commit is contained in:
		@ -891,6 +891,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
 | 
			
		||||
	struct patch_ids ids;
 | 
			
		||||
	char *add_signoff = NULL;
 | 
			
		||||
	struct strbuf buf = STRBUF_INIT;
 | 
			
		||||
	int use_patch_format = 0;
 | 
			
		||||
	const struct option builtin_format_patch_options[] = {
 | 
			
		||||
		{ OPTION_CALLBACK, 'n', "numbered", &numbered, NULL,
 | 
			
		||||
			    "use [PATCH n/m] even with a single patch",
 | 
			
		||||
@ -920,6 +921,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
 | 
			
		||||
			    PARSE_OPT_NOARG | PARSE_OPT_NONEG, keep_callback },
 | 
			
		||||
		OPT_BOOLEAN(0, "no-binary", &no_binary_diff,
 | 
			
		||||
			    "don't output binary diffs"),
 | 
			
		||||
		OPT_BOOLEAN('p', NULL, &use_patch_format,
 | 
			
		||||
			"show patch format instead of default (patch + stat)"),
 | 
			
		||||
		OPT_BOOLEAN(0, "ignore-if-in-upstream", &ignore_if_in_upstream,
 | 
			
		||||
			    "don't include a patch matching a commit upstream"),
 | 
			
		||||
		OPT_GROUP("Messaging"),
 | 
			
		||||
@ -1027,8 +1030,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
 | 
			
		||||
	if (argc > 1)
 | 
			
		||||
		die ("unrecognized argument: %s", argv[1]);
 | 
			
		||||
 | 
			
		||||
	if (!rev.diffopt.output_format
 | 
			
		||||
		|| rev.diffopt.output_format == DIFF_FORMAT_PATCH)
 | 
			
		||||
	if (use_patch_format)
 | 
			
		||||
		rev.diffopt.output_format |= DIFF_FORMAT_PATCH;
 | 
			
		||||
	else if (!rev.diffopt.output_format ||
 | 
			
		||||
		  rev.diffopt.output_format == DIFF_FORMAT_PATCH)
 | 
			
		||||
		rev.diffopt.output_format = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_SUMMARY | DIFF_FORMAT_PATCH;
 | 
			
		||||
 | 
			
		||||
	if (!DIFF_OPT_TST(&rev.diffopt, TEXT) && !no_binary_diff)
 | 
			
		||||
 | 
			
		||||
@ -455,6 +455,27 @@ test_expect_success 'format-patch respects -U' '
 | 
			
		||||
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
cat > expect << EOF
 | 
			
		||||
 | 
			
		||||
diff --git a/file b/file
 | 
			
		||||
index 40f36c6..2dc5c23 100644
 | 
			
		||||
--- a/file
 | 
			
		||||
+++ b/file
 | 
			
		||||
@@ -14,3 +14,19 @@ C
 | 
			
		||||
 D
 | 
			
		||||
 E
 | 
			
		||||
 F
 | 
			
		||||
+5
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
test_expect_success 'format-patch -p suppresses stat' '
 | 
			
		||||
 | 
			
		||||
	git format-patch -p -2 &&
 | 
			
		||||
	sed -e "1,/^$/d" -e "/^+5/q" < 0001-This-is-an-excessively-long-subject-line-for-a-messa.patch > output &&
 | 
			
		||||
	test_cmp expect output
 | 
			
		||||
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'format-patch from a subdirectory (1)' '
 | 
			
		||||
	filename=$(
 | 
			
		||||
		rm -rf sub &&
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user