Merge branch 'al/send-email-auto-cte-fixup'
authorJunio C Hamano <gitster@pobox.com>
Tue, 13 Nov 2018 13:37:25 +0000 (22:37 +0900)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Nov 2018 13:37:25 +0000 (22:37 +0900)
"git send-email --transfer-encoding=..." in recent versions of Git
sometimes produced an empty "Content-Transfer-Encoding:" header,
which has been corrected.

* al/send-email-auto-cte-fixup:
send-email: avoid empty transfer encoding header

git-send-email.perl
t/t9001-send-email.sh
index dc7e738e9ce462c85378b82b396dbda0728b971f..4b9d3ad1bdc56881add391def6ed52645ddb89a7 100755 (executable)
@@ -1848,7 +1848,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;
index 1ef1a19003db5c9be94197e9d6cb25110591705b..ee1efcc59dcddfdb7e1b448999531e2c1937444a 100755 (executable)
@@ -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 <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' '