#
 
 test_description='git-svn basic tests'
-GIT_SVN_LC_ALL=$LC_ALL
+GIT_SVN_LC_ALL=${LC_ALL:-$LANG}
 
-case "$LC_ALL" in
+case "$GIT_SVN_LC_ALL" in
 *.UTF-8)
        have_utf8=t
        ;;
 
 . ./lib-git-svn.sh
 
-echo 'define NO_SVN_TESTS to skip git-svn tests'
+say 'define NO_SVN_TESTS to skip git-svn tests'
 
 test_expect_success \
     'initialize git-svn' '
        git update-index --remove dir/file &&
        git update-index --add dir/file/file &&
        git commit -m '$name' &&
-       ! git-svn set-tree --find-copies-harder --rmdir \
+       test_must_fail git-svn set-tree --find-copies-harder --rmdir \
                remotes/git-svn..mybranch" || true
 
 
        git update-index --remove -- bar/zzz &&
        git update-index --add -- bar &&
        git commit -m "$name" &&
-       ! git-svn set-tree --find-copies-harder --rmdir \
+       test_must_fail git-svn set-tree --find-copies-harder --rmdir \
                remotes/git-svn..mybranch2' || true
 
 
        echo yyy > bar/zzz/yyy &&
        git update-index --add bar/zzz/yyy &&
        git commit -m "$name" &&
-       ! git-svn set-tree --find-copies-harder --rmdir \
+       test_must_fail git-svn set-tree --find-copies-harder --rmdir \
                remotes/git-svn..mybranch3' || true
 
 
        echo asdf > dir &&
        git update-index --add -- dir &&
        git commit -m "$name" &&
-       ! git-svn set-tree --find-copies-harder --rmdir \
+       test_must_fail git-svn set-tree --find-copies-harder --rmdir \
                remotes/git-svn..mybranch4' || true
 
 
        svn up "$SVN_TREE" &&
        test -f "$SVN_TREE"/exec-2.sh &&
        test ! -L "$SVN_TREE"/exec-2.sh &&
-       git diff help "$SVN_TREE"/exec-2.sh'
+       test_cmp help "$SVN_TREE"/exec-2.sh'
 
 if test "$have_utf8" = t
 then
                git-svn set-tree HEAD"
        unset LC_ALL
 else
-       echo "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)"
+       say "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)"
 fi
 
 name='test fetch functionality (svn => git) with alternate GIT_SVN_ID'
     'git-svn init "$svnrepo" && git-svn fetch &&
      git rev-list --pretty=raw remotes/git-svn | grep ^tree | uniq > a &&
      git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
-     git diff a b'
+     test_cmp a b'
 
 name='check imported tree checksums expected tree checksums'
 rm -f expected
 tree 8f51f74cf0163afc9ad68a4b1537288c4558b5a4
 EOF
 
-test_expect_success "$name" "git diff a expected"
+test_expect_success "$name" "test_cmp a expected"
 
 test_expect_success 'exit if remote refs are ambigious' "
         git config --add svn-remote.svn.fetch \
                               bar:refs/remotes/git-svn &&
-       ! git-svn migrate
+       test_must_fail git-svn migrate
 "
 
 test_expect_success 'exit if init-ing a would clobber a URL' '
         svn mkdir -m "mkdir bar" "${svnrepo}2/bar" &&
         git config --unset svn-remote.svn.fetch \
                                 "^bar:refs/remotes/git-svn$" &&
-       ! git-svn init "${svnrepo}2/bar"
+       test_must_fail git-svn init "${svnrepo}2/bar"
         '
 
 test_expect_success \