From: Aaron Lindsay Date: Fri, 02 Nov 2018 09:52:38 GMT Subject: [PATCH v2] send-email: Avoid empty transfer encoding header Message-ID: <20181102095238.25766-1-aaron@aclindsay.com> In-Reply-To: <20181102015335.GC731755@genre.crustytoothpaste.net> 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. v2 adds a test provided by brian m. carlson. Signed-off-by: Aaron Lindsay Signed-off-by: brian m. carlson --- git-send-email.perl | 2 +- t/t9001-send-email.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/git-send-email.perl b/git-send-email.perl index 2be5dac33..39c15bcc8 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1834,7 +1834,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 1ef1a1900..ee1efcc59 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -492,6 +492,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' ' -- 2.19.1