From: Aaron Lindsay Date: Fri, 2 Nov 2018 09:52:38 +0000 (-0400) Subject: send-email: avoid empty transfer encoding header X-Git-Tag: v2.20.0-rc0~38^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c88e46f1a4328f594cbdcd6109034d9fb9a1b56;p=git send-email: avoid empty transfer encoding header Fix a small bug introduced by "7a36987ff (send-email: add an auto option for transfer encoding, 2018-07-14)". I saw the following message when setting --transfer-encoding for a file with the same encoding: $ git send-email --transfer-encoding=8bit example.patch Use of uninitialized value $xfer_encoding in concatenation (.) or string at /usr/lib/git-core/git-send-email line 1744. The new tests are by brian m. carlson. Signed-off-by: Aaron Lindsay Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- diff --git a/git-send-email.perl b/git-send-email.perl index f4c07908d2..6b5d746bde 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1835,7 +1835,7 @@ sub apply_transfer_encoding { my $from = shift; my $to = shift; - return $message if ($from eq $to and $from ne '7bit'); + return ($message, $to) if ($from eq $to and $from ne '7bit'); require MIME::QuotedPrint; require MIME::Base64; diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 1da282c415..8e36a67b3a 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -493,6 +493,21 @@ do --validate \ $patches longline.patch ' + +done + +for enc in 7bit 8bit quoted-printable base64 +do + test_expect_success $PREREQ "--transfer-encoding=$enc produces correct header" ' + clean_fake_sendmail && + git send-email \ + --from="Example " \ + --to=nobody@example.com \ + --smtp-server="$(pwd)/fake.sendmail" \ + --transfer-encoding=$enc \ + $patches && + grep "Content-Transfer-Encoding: $enc" msgtxt1 + ' done test_expect_success $PREREQ 'Invalid In-Reply-To' '