aboutsummaryrefslogtreecommitdiffstats
path: root/t/t9001-send-email.sh
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2022-11-26 15:21:23 -0500
committerJunio C Hamano <gitster@pobox.com>2022-11-27 10:21:43 +0900
commit8774aa56ad1af286b34e6ac7f1e65c75a4477fdd (patch)
treee81e7e3e16a651b2f387934cf438d8b4b681f72c /t/t9001-send-email.sh
parentGit 2.39-rc0 (diff)
downloadgit-8774aa56ad1af286b34e6ac7f1e65c75a4477fdd.tar.gz
git-8774aa56ad1af286b34e6ac7f1e65c75a4477fdd.zip
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>
Diffstat (limited to 't/t9001-send-email.sh')
-rwxr-xr-xt/t9001-send-email.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 1130ef21b3..323952a572 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -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 \