Git 2.23
[gitweb.git] / t / t9129-git-svn-i18n-commitencoding.sh
index 3200ab38efa03076b81b94713e74205d740e38e8..2c213ae65405ecc5253a01369ce4b76f96272f10 100755 (executable)
@@ -7,17 +7,19 @@ test_description='git svn honors i18n.commitEncoding in config'
 . ./lib-git-svn.sh
 
 compare_git_head_with () {
-       nr=`wc -l < "$1"`
+       nr=$(wc -l < "$1")
        a=7
        b=$(($a + $nr - 1))
        git cat-file commit HEAD | sed -ne "$a,${b}p" >current &&
        test_cmp current "$1"
 }
 
+prepare_a_utf8_locale
+
 compare_svn_head_with () {
        # extract just the log message and strip out committer info.
        # don't use --limit here since svn 1.1.x doesn't have it,
-       LC_ALL=en_US.UTF-8 svn log `git svn info --url` | perl -w -e '
+       LC_ALL="$a_utf8_locale" svn log $(git svn info --url) | perl -w -e '
                use bytes;
                $/ = ("-"x72) . "\n";
                my @x = <STDIN>;
@@ -29,16 +31,16 @@ compare_svn_head_with () {
        test_cmp current "$1"
 }
 
-for H in ISO-8859-1 EUCJP ISO-2022-JP
+for H in ISO8859-1 eucJP ISO-2022-JP
 do
        test_expect_success "$H setup" '
                mkdir $H &&
-               svn import -m "$H test" $H "$svnrepo"/$H &&
+               svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
                git svn clone "$svnrepo"/$H $H
        '
 done
 
-for H in ISO-8859-1 EUCJP ISO-2022-JP
+for H in ISO8859-1 eucJP ISO-2022-JP
 do
        test_expect_success "$H commit on git side" '
        (
@@ -49,13 +51,13 @@ do
                git add F &&
                git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
                E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
-               test "z$E" = "z$H"
+               test "z$E" = "z$H" &&
                compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
        )
        '
 done
 
-for H in ISO-8859-1 EUCJP ISO-2022-JP
+for H in ISO8859-1 eucJP ISO-2022-JP
 do
        test_expect_success "$H dcommit to svn" '
        (
@@ -69,20 +71,14 @@ do
        '
 done
 
-if locale -a |grep -q en_US.utf8; then
-       test_set_prereq UTF8
-else
-       say "UTF-8 locale not available, test skipped"
-fi
-
 test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '
        (
-               cd ISO-8859-1 &&
+               cd ISO8859-1 &&
                compare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
        )
 '
 
-for H in EUCJP ISO-2022-JP
+for H in eucJP ISO-2022-JP
 do
        test_expect_success UTF8 "$H should match UTF-8 in svn" '
                (