Merge branch 'sb/hook-cleanup'
[gitweb.git] / t / t9129-git-svn-i18n-commitencoding.sh
index 2848e46e38e1b664447e1ae8fc20d47c41e2acb5..9c7b1ad18bca943e6c5b6e50f55d914ccadbfce8 100755 (executable)
@@ -15,8 +15,17 @@ compare_git_head_with () {
 }
 
 compare_svn_head_with () {
-       LC_ALL=en_US.UTF-8 svn log --limit 1 `git svn info --url` | \
-               sed -e 1,3d -e "/^-\+\$/d" >current &&
+       # 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 '
+               use bytes;
+               $/ = ("-"x72) . "\n";
+               my @x = <STDIN>;
+               @x = split(/\n/, $x[1]);
+               splice(@x, 0, 2);
+               $x[-1] = "";
+               print join("\n", @x);
+       ' > current &&
        test_cmp current "$1"
 }
 
@@ -60,21 +69,25 @@ do
        '
 done
 
-test_expect_success 'ISO-8859-1 should match UTF-8 in svn' '
-(
-       cd ISO-8859-1 &&
-       compare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
-)
-'
-
-for H in EUCJP ISO-2022-JP
-do
-       test_expect_success '$H should match UTF-8 in svn' '
+if locale -a |grep -q en_US.utf8; then
+       test_expect_success 'ISO-8859-1 should match UTF-8 in svn' '
        (
-               cd $H &&
-               compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
+               cd ISO-8859-1 &&
+               compare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
        )
        '
-done
+
+       for H in EUCJP ISO-2022-JP
+       do
+               test_expect_success '$H should match UTF-8 in svn' '
+               (
+                       cd $H &&
+                       compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
+               )
+               '
+       done
+else
+       say "UTF-8 locale not available, test skipped"
+fi
 
 test_done