зеркало из https://github.com/microsoft/git.git
Use =20 when rfc2047 encoding spaces.
Encode ' ' using '=20' even though rfc2047 allows using '_' for readability. Unfortunately, many programs do not understand this and just leave the underscore in place. Using '=20' seems to work better. [jc: with adjustment to t3901] Signed-off-by: Kristian Høgsberg <hoegsberg@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
cedb8d5d33
Коммит
996e2d6ea2
10
commit.c
10
commit.c
|
@ -511,12 +511,16 @@ static int add_rfc2047(char *buf, const char *line, int len,
|
|||
bp += i;
|
||||
for (i = 0; i < len; i++) {
|
||||
unsigned ch = line[i] & 0xFF;
|
||||
if (is_rfc2047_special(ch)) {
|
||||
/*
|
||||
* We encode ' ' using '=20' even though rfc2047
|
||||
* allows using '_' for readability. Unfortunately,
|
||||
* many programs do not understand this and just
|
||||
* leave the underscore in place.
|
||||
*/
|
||||
if (is_rfc2047_special(ch) || ch == ' ') {
|
||||
sprintf(bp, "=%02X", ch);
|
||||
bp += 3;
|
||||
}
|
||||
else if (ch == ' ')
|
||||
*bp++ = '_';
|
||||
else
|
||||
*bp++ = ch;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ check_encoding () {
|
|||
while test "$i" -le $cnt
|
||||
do
|
||||
git format-patch --encoding=UTF-8 --stdout HEAD~$i..HEAD~$j |
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD_=C3=B3=C3=BA?=" &&
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" &&
|
||||
git-cat-file commit HEAD~$j |
|
||||
case "$header" in
|
||||
8859)
|
||||
|
@ -73,9 +73,9 @@ test_expect_success 'format-patch output (ISO-8859-1)' '
|
|||
git format-patch --stdout master..HEAD^ >out-l1 &&
|
||||
git format-patch --stdout HEAD^ >out-l2 &&
|
||||
grep "^Content-Type: text/plain; charset=ISO-8859-1" out-l1 &&
|
||||
grep "^From: =?ISO-8859-1?q?=C1=E9=ED_=F3=FA?=" out-l1 &&
|
||||
grep "^From: =?ISO-8859-1?q?=C1=E9=ED=20=F3=FA?=" out-l1 &&
|
||||
grep "^Content-Type: text/plain; charset=ISO-8859-1" out-l2 &&
|
||||
grep "^From: =?ISO-8859-1?q?=C1=E9=ED_=F3=FA?=" out-l2
|
||||
grep "^From: =?ISO-8859-1?q?=C1=E9=ED=20=F3=FA?=" out-l2
|
||||
'
|
||||
|
||||
test_expect_success 'format-patch output (UTF-8)' '
|
||||
|
@ -84,9 +84,9 @@ test_expect_success 'format-patch output (UTF-8)' '
|
|||
git format-patch --stdout master..HEAD^ >out-u1 &&
|
||||
git format-patch --stdout HEAD^ >out-u2 &&
|
||||
grep "^Content-Type: text/plain; charset=UTF-8" out-u1 &&
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD_=C3=B3=C3=BA?=" out-u1 &&
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" out-u1 &&
|
||||
grep "^Content-Type: text/plain; charset=UTF-8" out-u2 &&
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD_=C3=B3=C3=BA?=" out-u2
|
||||
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" out-u2
|
||||
'
|
||||
|
||||
test_expect_success 'rebase (U/U)' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче