git remote update: Fallback to remote if group does not exist
[gitweb.git] / t / t9129-git-svn-i18n-commitencoding.sh
index 938b7fe4b4027e2e74da6f816a43811cdf902204..3200ab38efa03076b81b94713e74205d740e38e8 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 "/^-\{1,\}\$/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,20 +69,26 @@ 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
-)
+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 &&
+               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' '
-       (
-               cd $H &&
-               compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
-       )
+       test_expect_success UTF8 "$H should match UTF-8 in svn" '
+               (
+                       cd $H &&
+                       compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
+               )
        '
 done