format-patch: Always generate a patch
Jeff King recently reinstated -p to suppress the default diffstat
(as -p used to work before 68daa64
, about 14 months ago).
However, -p is also needed in combination with certain options
(e.g. --stat or --numstat) in order to produce any patch at all.
The documentation does not mention this.
Since the purpose of format-patch is to produce a patch that
can be emailed, it does not make sense that certain combination
of options will suppress the generation of the patch itself.
Therefore:
* Update 'git format-patch' to always generate a patch.
* Since the --name-only, --name-status, and --check suppresses
the generation of the patch, disallow those options,
and remove the description of them in the documentation.
* Remove the reference to -p in the description of -U.
* Remove the descriptions of the options that are synonyms for -p
plus another option (--patch-with-raw and --patch-with-stat).
* While at it, slightly tweak the description of -p itself
to say that it generates "plain patches", so that you can
think of -p as "plain patch" as an mnemonic aid.
Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
1d46f2ea14
commit
02bc5b03f5
@ -536,4 +536,22 @@ test_expect_success 'format-patch --signoff' '
|
||||
grep "^Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
|
||||
'
|
||||
|
||||
echo "fatal: --name-only does not make sense" > expect.name-only
|
||||
echo "fatal: --name-status does not make sense" > expect.name-status
|
||||
echo "fatal: --check does not make sense" > expect.check
|
||||
|
||||
test_expect_success 'options no longer allowed for format-patch' '
|
||||
test_must_fail git format-patch --name-only 2> output &&
|
||||
test_cmp expect.name-only output &&
|
||||
test_must_fail git format-patch --name-status 2> output &&
|
||||
test_cmp expect.name-status output &&
|
||||
test_must_fail git format-patch --check 2> output &&
|
||||
test_cmp expect.check output'
|
||||
|
||||
test_expect_success 'format-patch --numstat should produce a patch' '
|
||||
git format-patch --numstat --stdout master..side |
|
||||
grep "^diff --git a/" |
|
||||
wc -l |
|
||||
xargs test 6 = '
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user