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 <aaron@aclindsay.com>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Aaron Lindsay 2018-11-02 05:52:38 -04:00 committed by Junio C Hamano
parent fa29f36d99
commit 3c88e46f1a
2 changed files with 16 additions and 1 deletions

View File

@ -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;

View File

@ -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 <nobody@example.com>" \
--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' '