mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Karsten Blees](/assets/img/avatar_default.png)
On Windows, all native APIs are Unicode-based. It is impossible to pass legacy encoded byte arrays to a process via command line or environment variables. Disable the tests that try to do so. In t3901, most tests still work if we don't mess up the repository encoding in setup, so don't switch to ISO-8859-1 on MinGW. Note that i18n tests that do their encoding tricks via encoded files (such as t3900) are not affected by this. Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Stepan Kasal <kasal@ucw.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
93 lines
2 KiB
Bash
Executable file
93 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='git blame encoding conversion'
|
|
. ./test-lib.sh
|
|
|
|
. "$TEST_DIRECTORY"/t8005/utf8.txt
|
|
. "$TEST_DIRECTORY"/t8005/euc-japan.txt
|
|
. "$TEST_DIRECTORY"/t8005/sjis.txt
|
|
|
|
test_expect_success 'setup the repository' '
|
|
# Create the file
|
|
echo "UTF-8 LINE" > file &&
|
|
git add file &&
|
|
git commit --author "$UTF8_NAME <utf8@localhost>" -m "$UTF8_MSG" &&
|
|
|
|
echo "EUC-JAPAN LINE" >> file &&
|
|
git add file &&
|
|
git config i18n.commitencoding eucJP &&
|
|
git commit --author "$EUC_JAPAN_NAME <euc-japan@localhost>" -m "$EUC_JAPAN_MSG" &&
|
|
|
|
echo "SJIS LINE" >> file &&
|
|
git add file &&
|
|
git config i18n.commitencoding SJIS &&
|
|
git commit --author "$SJIS_NAME <sjis@localhost>" -m "$SJIS_MSG"
|
|
'
|
|
|
|
cat >expected <<EOF
|
|
author $SJIS_NAME
|
|
summary $SJIS_MSG
|
|
author $SJIS_NAME
|
|
summary $SJIS_MSG
|
|
author $SJIS_NAME
|
|
summary $SJIS_MSG
|
|
EOF
|
|
|
|
test_expect_success NOT_MINGW \
|
|
'blame respects i18n.commitencoding' '
|
|
git blame --incremental file | \
|
|
egrep "^(author|summary) " > actual &&
|
|
test_cmp actual expected
|
|
'
|
|
|
|
cat >expected <<EOF
|
|
author $EUC_JAPAN_NAME
|
|
summary $EUC_JAPAN_MSG
|
|
author $EUC_JAPAN_NAME
|
|
summary $EUC_JAPAN_MSG
|
|
author $EUC_JAPAN_NAME
|
|
summary $EUC_JAPAN_MSG
|
|
EOF
|
|
|
|
test_expect_success NOT_MINGW \
|
|
'blame respects i18n.logoutputencoding' '
|
|
git config i18n.logoutputencoding eucJP &&
|
|
git blame --incremental file | \
|
|
egrep "^(author|summary) " > actual &&
|
|
test_cmp actual expected
|
|
'
|
|
|
|
cat >expected <<EOF
|
|
author $UTF8_NAME
|
|
summary $UTF8_MSG
|
|
author $UTF8_NAME
|
|
summary $UTF8_MSG
|
|
author $UTF8_NAME
|
|
summary $UTF8_MSG
|
|
EOF
|
|
|
|
test_expect_success NOT_MINGW \
|
|
'blame respects --encoding=UTF-8' '
|
|
git blame --incremental --encoding=UTF-8 file | \
|
|
egrep "^(author|summary) " > actual &&
|
|
test_cmp actual expected
|
|
'
|
|
|
|
cat >expected <<EOF
|
|
author $SJIS_NAME
|
|
summary $SJIS_MSG
|
|
author $EUC_JAPAN_NAME
|
|
summary $EUC_JAPAN_MSG
|
|
author $UTF8_NAME
|
|
summary $UTF8_MSG
|
|
EOF
|
|
|
|
test_expect_success NOT_MINGW \
|
|
'blame respects --encoding=none' '
|
|
git blame --incremental --encoding=none file | \
|
|
egrep "^(author|summary) " > actual &&
|
|
test_cmp actual expected
|
|
'
|
|
|
|
test_done
|