Re: [PATCH 2/3] send-email: accept long lines with suitable transfer encoding
- Date: Fri, 6 Jul 2018 02:08:17 -0400
- From: Eric Sunshine <sunshine@xxxxxxxxxxxxxx>
- Subject: Re: [PATCH 2/3] send-email: accept long lines with suitable transfer encoding
On Thu, Jul 5, 2018 at 10:24 PM brian m. carlson
> With --validate (which is the default), we warn about lines exceeding
> 998 characters due to the limits specified in RFC 5321. However, if
> we're using a suitable transfer encoding (quoted-printable or base64),
> we're guaranteed not to have lines exceeding 76 characters, so there's
> no need to fail in this case. The auto transfer encoding handles this
> specific case, so accept it as well.
> Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx>
> diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
> @@ -401,8 +401,9 @@ have been specified, in which case default to 'compose'.
> - * Warn of patches that contain lines longer than 998 characters; this
> - is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
> + * Warn of patches that contain lines longer than 998 characters unless
> + a suitable transfer encoding is used; this is due to SMTP limits as
> + described by http://www.ietf.org/rfc/rfc2821.txt.
A reader might like to know what "a suitable transfer encoding" is.
Perhaps add a "such as 'auto', 'quoted-printable' and 'base64'"
> diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
> @@ -480,6 +480,19 @@ test_expect_success $PREREQ 'long lines with auto encoding are quoted-printable'
> +test_expect_success $PREREQ '--validate passes with certain encodings' '
> + for enc in auto quoted-printable base64
> + do
> + git send-email \
> + --from="Example <nobody@xxxxxxxxxxx>" \
> + --to=nobody@xxxxxxxxxxx \
> + --smtp-server="$(pwd)/fake.sendmail" \
> + --transfer-encoding=$enc \
> + --validate \
> + $patches longline.patch
> + done
If you turn this inside out, it will be easier to figure out which
encoding fails (if one ever does). That is:
for enc in auto quoted-printable base64
test_expect_success $PREREQ "--validate passes with encoding $enc" '
git send-email ...