Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
git/t/t8005-blame-i18n.sh
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
96 lines (81 sloc)
2.1 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 | |
filter_author_summary () { | |
sed -n -e '/^author /p' -e '/^summary /p' "$@" | |
} | |
test_expect_success !MINGW \ | |
'blame respects i18n.commitencoding' ' | |
git blame --incremental file >output && | |
filter_author_summary output >actual && | |
test_cmp expected actual | |
' | |
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 !MINGW \ | |
'blame respects i18n.logoutputencoding' ' | |
git config i18n.logoutputencoding eucJP && | |
git blame --incremental file >output && | |
filter_author_summary output >actual && | |
test_cmp expected actual | |
' | |
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 !MINGW \ | |
'blame respects --encoding=UTF-8' ' | |
git blame --incremental --encoding=UTF-8 file >output && | |
filter_author_summary output >actual && | |
test_cmp expected actual | |
' | |
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 !MINGW \ | |
'blame respects --encoding=none' ' | |
git blame --incremental --encoding=none file >output && | |
filter_author_summary output >actual && | |
test_cmp expected actual | |
' | |
test_done |