mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
mailinfo: always clean up rfc822 header folding
Without the "-k" option, mailinfo will convert a folded
subject header like:
Subject: this is a
subject that doesn't
fit on one line
into a single line. With "-k", however, we assumed that
these newlines were significant and represented something
that the sending side would want us to preserve.
For messages created by format-patch, this assumption was
broken by a1f6baa
(format-patch: wrap long header lines,
2011-02-23). For messages sent by arbitrary MUAs, this was
probably never a good assumption to make, as they may have
been folding subjects in accordance with rfc822's line
length recommendations all along.
This patch now joins folded lines with a single whitespace
character. This treats header folding purely as a syntactic
feature of the transport mechanism, not as something that
format-patch is trying to tell us about the original
subject.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
00ebc97748
commit
5b38456ec7
@ -400,7 +400,7 @@ static int read_one_header_line(struct strbuf *line, FILE *in)
|
||||
break;
|
||||
if (strbuf_getline(&continuation, in, '\n'))
|
||||
break;
|
||||
continuation.buf[0] = '\n';
|
||||
continuation.buf[0] = ' ';
|
||||
strbuf_rtrim(&continuation);
|
||||
strbuf_addbuf(line, &continuation);
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ test_expect_success 'long subject preserved (format-patch | am)' '
|
||||
test_expect_success 'long subject preserved (format-patch -k | am)' '
|
||||
check_subject long-k
|
||||
'
|
||||
test_expect_failure 'long subject preserved (format-patch -k | am -k)' '
|
||||
test_expect_success 'long subject preserved (format-patch -k | am -k)' '
|
||||
check_subject long-k -k
|
||||
'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user