send-email: error out when relogin delay is missing

When the batch size is neither configured nor given on the command line, but the relogin delay is given, then the current code ignores the relogin delay setting. This is unsafe as there was some intention when setting the batch size. One workaround would be to just assume a batch size of 1 as a default. This however may be bad UX, as then the user may wonder why it is sending slowly without apparent batching. Error out for now instead of potentially confusing the user. As 5453b83bdf (send-email: --batch-size to work around some SMTP server limit, 2017-05-21) lays out, we rather want to not have this interface anyway and would rather want to react on the server throttling dynamically. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed Feb 12, 2018 at 11:44 UTC 9caa70697b3b85eb11caaa5b5fd506baccfb0bac
1 file changed +4
git-send-email.perl
+4
@@ -378,6 +378,10 @@ unless ($rc) {
378 die __("Cannot run git format-patch from outside a repository\n")
379 if $format_patch and not $repo;
380
381 +die __("`batch-size` and `relogin` must be specified together " .
382 + "(via command-line or configuration option)\n")
383 + if defined $relogin_delay and not defined $batch_size;
384 +
385 # Now, let's fill any that aren't set in with defaults:
386
387 sub read_config {