format-patch: make "-p" suppress diffstat
Once upon a time, format-patch would use its default stat plus patch format only when no diff format was given on the command line. This meant that "format-patch -p" would suppress the stat and show just the patch. Commit68daa64
changed this to keep the stat format when we had an "implicit" patch format, like "-U5". As a side effect, this meant that an explicit patch format was now ignored (because cmd_format_patch didn't know the reason that the format was set way down in diff_opt_parse). This patch unbreaks what68daa64
did (while still preserving what68daa64
was trying to do), reinstating "-p" to suppress the default behavior. We do this by parsing "-p" ourselves in format-patch, and noting whether it was used explicitly. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
78d553b7d7
commit
1d46f2ea14
@ -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