On Thu, Jul 5, 2018 at 10:24 PM brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > 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'" comment? > 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 do test_expect_success $PREREQ "--validate passes with encoding $enc" ' git send-email ... ' done