mirror of
https://github.com/git/git.git
synced 2026-01-09 17:46:37 +00:00
send-email: relay '-v N' to format-patch
send-email relays unrecognized arguments to its format-patch call.
Passing '-v N' leads to an error because -v is consumed as
send-email's --validate. For example,
git send-email -v 3 @{u}
fails with
fatal: ambiguous argument '3': unknown revision or path not in the
working tree. [...]
To prevent this, add the short --reroll-count option to send-email's
main option list and explicitly provide it to the format-patch call.
There other format-patch options that send-email doesn't relay
properly, including at least -n, -N, and the diff option -D. Punt on
these because dealing with them is more complicated:
* they would require configuring send-email to not ignore option case
* send-email makes three GetOptions() calls with different sets of
options, the last being the main set of options. Unlike -v, which
is consumed by the last GetOptions call, the -n, -N, and -D options
are consumed as abbreviations by the earlier calls.
Signed-off-by: Kyle Meyer <kyle@kyleam.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
c000d91638
commit
8774aa56ad
@@ -2334,6 +2334,12 @@ test_expect_success $PREREQ 'test that send-email works outside a repo' '
|
||||
"$(pwd)/0001-add-main.patch"
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'send-email relays -v 3 to format-patch' '
|
||||
test_when_finished "rm -f out" &&
|
||||
git send-email --dry-run -v 3 -1 >out &&
|
||||
grep "PATCH v3" out
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'test that sendmail config is rejected' '
|
||||
test_config sendmail.program sendmail &&
|
||||
test_must_fail git send-email \
|
||||
|
||||
Reference in New Issue
Block a user