diff options
author | Krzysztof Mazur <krzysiek@podlesie.net> | 2012-10-22 14:41:48 +0200 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2012-10-25 06:00:07 -0400 |
commit | 4a47a4ddec0d4d37e81ad63385ca287abfe90f9b (patch) | |
tree | 1c86707e877c0a1f371df35546d2c8fb991f1cdd | |
parent | git-send-email: introduce compose-encoding (diff) | |
download | tgif-4a47a4ddec0d4d37e81ad63385ca287abfe90f9b.tar.xz |
git-send-email: use compose-encoding for Subject
The commit "git-send-email: introduce compose-encoding" introduced
the compose-encoding option to specify the introduction email encoding
(--compose option), but the email Subject encoding was still hardcoded
to UTF-8.
Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Jeff King <peff@peff.net>
-rwxr-xr-x | git-send-email.perl | 8 | ||||
-rwxr-xr-x | t/t9001-send-email.sh | 14 |
2 files changed, 18 insertions, 4 deletions
diff --git a/git-send-email.perl b/git-send-email.perl index 107e814b67..adcb4e397b 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -636,15 +636,15 @@ EOT my $need_8bit_cte = file_has_nonascii($compose_filename); my $in_body = 0; my $summary_empty = 1; + if (!defined $compose_encoding) { + $compose_encoding = "UTF-8"; + } while(<$c>) { next if m/^GIT:/; if ($in_body) { $summary_empty = 0 unless (/^\n$/); } elsif (/^\n$/) { $in_body = 1; - if (!defined $compose_encoding) { - $compose_encoding = "UTF-8"; - } if ($need_8bit_cte) { print $c2 "MIME-Version: 1.0\n", "Content-Type: text/plain; ", @@ -658,7 +658,7 @@ EOT my $subject = $initial_subject; $_ = "Subject: " . ($subject =~ /[^[:ascii:]]/ ? - quote_rfc2047($subject) : + quote_rfc2047($subject, $compose_encoding) : $subject) . "\n"; } elsif (/^In-Reply-To:\s*(.+)\s*$/i) { diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 265ae0463f..89fcedaa33 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -909,6 +909,20 @@ test_expect_success $PREREQ '--compose-encoding overrides sendemail.composeencod grep "^Content-Type: text/plain; charset=iso-8859-2" msgtxt1 ' +test_expect_success $PREREQ '--compose-encoding adds correct MIME for subject' ' + clean_fake_sendmail && + GIT_EDITOR="\"$(pwd)/fake-editor\"" \ + git send-email \ + --compose-encoding iso-8859-2 \ + --compose --subject utf8-sübjëct \ + --from="Example <nobody@example.com>" \ + --to=nobody@example.com \ + --smtp-server="$(pwd)/fake.sendmail" \ + $patches && + grep "^fake edit" msgtxt1 && + grep "^Subject: =?iso-8859-2?q?utf8-s=C3=BCbj=C3=ABct?=" msgtxt1 +' + test_expect_success $PREREQ 'detects ambiguous reference/file conflict' ' echo master > master && git add master && |