Re: [PATCH v5] send-email: --batch-size to work around some SMTP server limit
Junio C Hamano 于 2017 年 5 月 22 日 星期一 写道:
Show 41 quoted lines
> I think this is almost perfect.
>
> I'd propose squashing the patch below to
>
> - Add cross reference between config and option
>
> - Spell configuration variables in camelCase to mimic other
> sendemail.* variables
>
> - Spell SMTP in all caps to mimic other parts of the manual
>
> - Suggest use of credential helper in the document to help the end
> users, not in the proposed log message.
>
> If you are fine with all of these changes, there is no need to
> resend (you can say so and I can locally squash these in). Of
> course, anyone is very welcome to point out documentation bugs I may
> be introducing with this patch.
>
> Thanks.
>
> -- >8 --
> Subject: fixup! send-email: --batch-size to work around some SMTP server limit
>
> Some email servers (e.g. smtp.163.com) limit the number emails to be
> sent per session (connection) and this will lead to a faliure when
> sending many messages.
>
> Teach send-email to disconnect after sending a number of messages
> (configurable via the --batch-size=<num> option), wait for a few
> seconds (configurable via the --relogin-delay=<seconds> option) and
> reconnect, to work around such a limit.
>
> Also add two configuration variables to give these options the default.
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
> Documentation/config.txt | 8 +++++---
> Documentation/git-send-email.txt | 12 ++++++++----
> 2 files changed, 13 insertions(+), 7 deletions(-)
>
It's fine with me, just go ahead.
Thank you Hamano!
Show 54 quoted lines
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index a13315ed69..ee4a111878 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -2914,13 +2914,15 @@ sendemail.xmailer::
> sendemail.signedoffcc (deprecated)::
> Deprecated alias for `sendemail.signedoffbycc`.
>
> -sendemail.smtpbatchsize::
> +sendemail.smtpBatchSize::
> Number of messages to be sent per connection, after that a relogin
> - will happen. if the value is 0 or undefined, send all messages in
> + will happen. If the value is 0 or undefined, send all messages in
> one connection.
> + See also the `--batch-size` option of linkgit:git-send-email[1].
>
> -sendemail.smtprelogindelay::
> +sendemail.smtpReloginDelay::
> Seconds wait before reconnecting to smtp server.
> + See also the `--relogin-delay` option of linkgit:git-send-email[1].
>
> showbranch.default::
> The default set of branches for linkgit:git-show-branch[1].
> diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
> index 5380d8c956..79b418bfa5 100644
> --- a/Documentation/git-send-email.txt
> +++ b/Documentation/git-send-email.txt
> @@ -250,14 +250,18 @@ must be used for each option.
>
> --batch-size=<num>::
> Some email servers (e.g. smtp.163.com) limit the number emails to be
> - sent per session(connection) and this will lead to a faliure when
> + sent per session (connection) and this will lead to a faliure when
> sending many messages. With this option, send-email will disconnect after
> sending $<num> messages and wait for a few seconds (see --relogin-delay)
> - and reconnect, to work around such a limit.
> + and reconnect, to work around such a limit. You may want to
> + use some form of credential helper to avoid having to retype
> + your password every time this happens. Defaults to the
> + `sendemail.smtpBatchSize` configuration variable.
>
> --relogin-delay=<int>::
> - Waiting $<int> seconds before reconnecting to smtp server. Used together
> - with --batch-size option.
> + Waiting $<int> seconds before reconnecting to SMTP server. Used together
> + with --batch-size option. Defaults to the `sendemail.smtpReloginDelay`
> + configuration variable.
>
> Automating
> ~~~~~~~~~~
> --
> 2.13.0-440-g3ce6d2d5b8
>
>