{"thread":{"id":"19147","subject":"[PATCH] git-svn testsuite: use standard configuration for Subversion tools","startedAt":"2009-05-01T11:46:56Z","lastAt":"2009-05-10T01:17:16Z","messageCount":9,"participants":["Eygene Ryabinkin","Junio C Hamano","Eric Wong"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"112820","messageId":"BfKhGHDBpSzjNF/dt4ZDx88u9wI@BjOYljNjUB0FD+/Fw7pzaXMw/Hc","threadId":"19147","inReplyTo":null,"subject":"[PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eygene Ryabinkin","fromEmail":"rea-git@codelabs.ru","sentAt":"2009-05-01T11:46:56Z","receivedAt":"2009-05-01T11:46:56Z","isPatch":true,"sender":{"key":"rea-git@codelabs.ru","avatar":null},"body":"I have tweaked configuration in my ~/.subversion directory, namely I am\nrunning auto-properties and automatically adding '$Id$' expansion to\nevery file.  This choke the last test named 'proplist' from\nt9101-git-svn-props.sh, because one more property, svn:keywords is\nautomatically added.\n\nI had just wrapped svn invocation with the svn_cmd that specifies empty\ndirectory via --config-dir argument.  Since the latter is the global\noption, it should be recognized by all svn subcommands, so no\nregressions will be introduced.\n\nNow svn_cmd is used everywhere, not just in the failed test module: this\nshould guard us from the future clashes with user-defined configuration\ntweaks.\n\nSigned-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>\n---\n t/lib-git-svn.sh                              |   16 +++++++++\n t/t9100-git-svn-basic.sh                      |   14 ++++----\n t/t9101-git-svn-props.sh                      |   38 +++++++++++-----------\n t/t9102-git-svn-deep-rmdir.sh                 |    4 +-\n t/t9103-git-svn-tracked-directory-removed.sh  |    8 ++--\n t/t9104-git-svn-follow-parent.sh              |   40 +++++++++++-----------\n t/t9105-git-svn-commit-diff.sh                |    8 ++--\n t/t9106-git-svn-commit-diff-clobber.sh        |   14 ++++----\n t/t9107-git-svn-migrate.sh                    |    2 +-\n t/t9108-git-svn-glob.sh                       |   26 +++++++-------\n t/t9109-git-svn-multi-glob.sh                 |   44 ++++++++++++------------\n t/t9113-git-svn-dcommit-new-file.sh           |    2 +-\n t/t9114-git-svn-dcommit-merge.sh              |    6 ++--\n t/t9116-git-svn-log.sh                        |    2 +-\n t/t9117-git-svn-init-clone.sh                 |    2 +-\n t/t9118-git-svn-funky-branch-names.sh         |    8 ++--\n t/t9119-git-svn-info.sh                       |   30 ++++++++--------\n t/t9120-git-svn-clone-with-percent-escapes.sh |    2 +-\n t/t9122-git-svn-author.sh                     |   12 +++---\n t/t9123-git-svn-rebuild-with-rewriteroot.sh   |    2 +-\n t/t9124-git-svn-dcommit-auto-props.sh         |   30 ++++++++--------\n t/t9125-git-svn-multi-glob-branch-names.sh    |    6 ++--\n t/t9127-git-svn-partial-rebuild.sh            |   14 ++++----\n t/t9128-git-svn-cmd-branch.sh                 |   18 +++++-----\n t/t9129-git-svn-i18n-commitencoding.sh        |    2 +-\n t/t9130-git-svn-authors-file.sh               |    6 ++--\n t/t9133-git-svn-nested-git-repo.sh            |   32 +++++++++---------\n t/t9134-git-svn-ignore-paths.sh               |   32 +++++++++---------\n t/t9137-git-svn-dcommit-clobber-series.sh     |    8 ++--\n 29 files changed, 222 insertions(+), 206 deletions(-)\n\ndiff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh\nindex 773d47c..f7b2249 100644\n--- a/t/lib-git-svn.sh\n+++ b/t/lib-git-svn.sh\n@@ -26,6 +26,8 @@ fi\n \n svnrepo=$PWD/svnrepo\n export svnrepo\n+svnconf=$PWD/svnconf\n+export svnconf\n \n perl -w -e \"\n use SVN::Core;\n@@ -54,6 +56,20 @@ poke() {\n \ttest-chmtime +1 \"$1\"\n }\n \n+# We need this, because we should pass empty configuration directory to\n+# the 'svn commit' to avoid automated property changes and other stuff\n+# that could be set from user's configuration files in ~/.subversion.\n+svn_cmd () {\n+\tlocal cmd\n+\t[ -d \"$svnconf\" ] || mkdir \"$svnconf\"\n+\tcmd=\"$1\"; shift\n+\tif [ -z \"$cmd\" ]; then\n+\t\tsvn\n+\t\treturn\n+\tfi\n+\tsvn \"$cmd\" --config-dir \"$svnconf\" \"$@\"\n+}\n+\n for d in \\\n \t\"$SVN_HTTPD_PATH\" \\\n \t/usr/sbin/apache2 \\\ndiff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh\nindex 4eee2e9..64aa7e2 100755\n--- a/t/t9100-git-svn-basic.sh\n+++ b/t/t9100-git-svn-basic.sh\n@@ -31,7 +31,7 @@ test_expect_success \\\n \techo \"zzz\" > bar/zzz &&\n \techo \"#!/bin/sh\" > exec.sh &&\n \tchmod +x exec.sh &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n \tcd .. &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"'\n@@ -51,7 +51,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -d \"$SVN_TREE\"/dir && test ! -d \"$SVN_TREE\"/dir/a'\n \n \n@@ -118,7 +118,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest ! -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -129,7 +129,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -141,7 +141,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -L \"$SVN_TREE\"/exec.sh'\n \n name='new symlink is added to a file that was also just made executable'\n@@ -153,7 +153,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/bar/zzz &&\n \ttest -L \"$SVN_TREE\"/exec-2.sh'\n \n@@ -166,7 +166,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -f \"$SVN_TREE\"/exec-2.sh &&\n \ttest ! -L \"$SVN_TREE\"/exec-2.sh &&\n \ttest_cmp help \"$SVN_TREE\"/exec-2.sh'\ndiff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh\nindex 1e31d6e..9da4178 100755\n--- a/t/t9101-git-svn-props.sh\n+++ b/t/t9101-git-svn-props.sh\n@@ -48,7 +48,7 @@ EOF\n \tprintf \"\\r\\n\" > empty_crlf\n \ta_empty_crlf=`git hash-object -w empty_crlf`\n \n-\tsvn import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n \n rm -rf import\n@@ -57,13 +57,13 @@ test_expect_success 'setup some commits to svn' \\\n \t'cd test_wc &&\n \t\techo Greetings >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Not yet an Id\" &&\n+\t\tsvn_cmd commit -m \"Not yet an Id\" &&\n \t\techo Hello world >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Modified file, but still not yet an Id\" &&\n-\t\tsvn propset svn:keywords Id kw.c &&\n+\t\tsvn_cmd commit -m \"Modified file, but still not yet an Id\" &&\n+\t\tsvn_cmd propset svn:keywords Id kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Propset Id\" &&\n+\t\tsvn_cmd commit -m \"Propset Id\" &&\n \tcd ..'\n \n test_expect_success 'initialize git svn' 'git svn init \"$svnrepo\"'\n@@ -83,16 +83,16 @@ test_expect_success 'raw $Id$ found in kw.c' \"test '$expect' = '$got'\"\n \n test_expect_success \"propset CR on crlf files\" \\\n \t'cd test_wc &&\n-\t\tsvn propset svn:eol-style CR empty &&\n-\t\tsvn propset svn:eol-style CR crlf &&\n-\t\tsvn propset svn:eol-style CR ne_crlf &&\n-\t\tsvn commit -m \"propset CR on crlf files\" &&\n+\t\tsvn_cmd propset svn:eol-style CR empty &&\n+\t\tsvn_cmd propset svn:eol-style CR crlf &&\n+\t\tsvn_cmd propset svn:eol-style CR ne_crlf &&\n+\t\tsvn_cmd commit -m \"propset CR on crlf files\" &&\n \t cd ..'\n \n test_expect_success 'fetch and pull latest from svn and checkout a new wc' \\\n \t'git svn fetch &&\n \t git pull . ${remotes_git_svn} &&\n-\t svn co \"$svnrepo\" new_wc'\n+\t svn_cmd co \"$svnrepo\" new_wc'\n \n for i in crlf ne_crlf lf ne_lf cr ne_cr empty_cr empty_lf empty empty_crlf\n do\n@@ -106,11 +106,11 @@ cd test_wc\n \ta_cr=`printf '$Id$\\r\\nHello\\r\\nWorld\\r\\n' | git hash-object --stdin`\n \ta_ne_cr=`printf '$Id$\\r\\nHello\\r\\nWorld' | git hash-object --stdin`\n \ttest_expect_success 'Set CRLF on cr files' \\\n-\t'svn propset svn:eol-style CRLF cr &&\n-\t svn propset svn:eol-style CRLF ne_cr &&\n-\t svn propset svn:keywords Id cr &&\n-\t svn propset svn:keywords Id ne_cr &&\n-\t svn commit -m \"propset CRLF on cr files\"'\n+\t'svn_cmd propset svn:eol-style CRLF cr &&\n+\t svn_cmd propset svn:eol-style CRLF ne_cr &&\n+\t svn_cmd propset svn:keywords Id cr &&\n+\t svn_cmd propset svn:keywords Id ne_cr &&\n+\t svn_cmd commit -m \"propset CRLF on cr files\"'\n cd ..\n test_expect_success 'fetch and pull latest from svn' \\\n \t'git svn fetch && git pull . ${remotes_git_svn}'\n@@ -140,10 +140,10 @@ test_expect_success 'test show-ignore' \"\n \tcd test_wc &&\n \tmkdir -p deeply/nested/directory &&\n \ttouch deeply/nested/directory/.keep &&\n-\tsvn add deeply &&\n-\tsvn up &&\n-\tsvn propset -R svn:ignore 'no-such-file*' .\n-\tsvn commit -m 'propset svn:ignore'\n+\tsvn_cmd add deeply &&\n+\tsvn_cmd up &&\n+\tsvn_cmd propset -R svn:ignore 'no-such-file*' .\n+\tsvn_cmd commit -m 'propset svn:ignore'\n \tcd .. &&\n \tgit svn show-ignore > show-ignore.got &&\n \tcmp show-ignore.expect show-ignore.got\ndiff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh\nindex e223218..028fb19 100755\n--- a/t/t9102-git-svn-deep-rmdir.sh\n+++ b/t/t9102-git-svn-deep-rmdir.sh\n@@ -9,7 +9,7 @@ test_expect_success 'initialize repo' '\n \tmkdir -p deeply/nested/directory/number/2 &&\n \techo foo > deeply/nested/directory/number/1/file &&\n \techo foo > deeply/nested/directory/number/2/another &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" &&\n \tcd ..\n \t'\n \n@@ -23,7 +23,7 @@ test_expect_success 'Try a commit on rmdir' '\n \tgit rm -f deeply/nested/directory/number/2/another &&\n \tgit commit -a -m \"remove another\" &&\n \tgit svn set-tree --rmdir HEAD &&\n-\tsvn ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n+\tsvn_cmd ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n \t'\n \n \ndiff --git a/t/t9103-git-svn-tracked-directory-removed.sh b/t/t9103-git-svn-tracked-directory-removed.sh\nindex 963dd95..3413164 100755\n--- a/t/t9103-git-svn-tracked-directory-removed.sh\n+++ b/t/t9103-git-svn-tracked-directory-removed.sh\n@@ -10,15 +10,15 @@ test_expect_success 'make history for tracking' '\n \tmkdir import &&\n \tmkdir import/trunk &&\n \techo hello >> import/trunk/README &&\n-\tsvn import -m initial import \"$svnrepo\" &&\n+\tsvn_cmd import -m initial import \"$svnrepo\" &&\n \trm -rf import &&\n-\tsvn co \"$svnrepo\"/trunk trunk &&\n+\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \techo bye bye >> trunk/README &&\n-\tsvn rm -m \"gone\" \"$svnrepo\"/trunk &&\n+\tsvn_cmd rm -m \"gone\" \"$svnrepo\"/trunk &&\n \trm -rf trunk &&\n \tmkdir trunk &&\n \techo \"new\" > trunk/FOLLOWME &&\n-\tsvn import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n+\tsvn_cmd import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n '\n \n test_expect_success 'clone repo with git' '\ndiff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh\nindex ab9fa32..78610b6 100755\n--- a/t/t9104-git-svn-follow-parent.sh\n+++ b/t/t9104-git-svn-follow-parent.sh\n@@ -11,18 +11,18 @@ test_expect_success 'initialize repo' '\n \tcd import &&\n \tmkdir -p trunk &&\n \techo hello > trunk/readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcd wc &&\n \techo world >> trunk/readme &&\n \tpoke trunk/readme &&\n-\tsvn commit -m \"another commit\" &&\n-\tsvn up &&\n-\tsvn mv trunk thunk &&\n+\tsvn_cmd commit -m \"another commit\" &&\n+\tsvn_cmd up &&\n+\tsvn_cmd mv trunk thunk &&\n \techo goodbye >> thunk/readme &&\n \tpoke thunk/readme &&\n-\tsvn commit -m \"bye now\" &&\n+\tsvn_cmd commit -m \"bye now\" &&\n \tcd ..\n \t'\n \n@@ -51,7 +51,7 @@ test_expect_success 'init and fetch from one svn-remote' '\n         '\n \n test_expect_success 'follow deleted parent' '\n-        (svn cp -m \"resurrecting trunk as junk\" \\\n+        (svn_cmd cp -m \"resurrecting trunk as junk\" \\\n                \"$svnrepo\"/trunk@2 \"$svnrepo\"/junk ||\n          svn cp -m \"resurrecting trunk as junk\" \\\n                -r2 \"$svnrepo\"/trunk \"$svnrepo\"/junk) &&\n@@ -97,8 +97,8 @@ test_expect_success 'follow higher-level parent' '\n         '\n \n test_expect_success 'follow deleted directory' '\n-\tsvn mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n-\tsvn rm -m \"remove glob\" \"$svnrepo\"/glob &&\n+\tsvn_cmd mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n+\tsvn_cmd rm -m \"remove glob\" \"$svnrepo\"/glob &&\n \tgit svn init --minimize-url -i glob \"$svnrepo\"/glob &&\n \tgit svn fetch -i glob &&\n \ttest \"`git cat-file blob refs/remotes/glob:blob/bye`\" = hi &&\n@@ -120,7 +120,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \tcd import &&\n \t  svn import -m \"r9270 test\" . \"$svnrepo\"/r9270 &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n+\tsvn_cmd co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n \tcd r9270 &&\n \t  svn mkdir native &&\n \t  svn mv t native/t &&\n@@ -138,7 +138,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \t'\n \n test_expect_success \"track initial change if it was only made to parent\" '\n-\tsvn cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n+\tsvn_cmd cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n \tgit svn init --minimize-url -i r9270-d \\\n \t  \"$svnrepo\"/r9270/drunk/subversion/bindings/swig/perl/native/t &&\n \tgit svn fetch -i r9270-d &&\n@@ -152,20 +152,20 @@ test_expect_success \"track initial change if it was only made to parent\" '\n test_expect_success \"follow-parent is atomic\" '\n \t(\n \t\tcd wc &&\n-\t\tsvn up &&\n-\t\tsvn mkdir stunk &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd mkdir stunk &&\n \t\techo \"trunk stunk\" > stunk/readme &&\n-\t\tsvn add stunk/readme &&\n-\t\tsvn ci -m \"trunk stunk\" &&\n+\t\tsvn_cmd add stunk/readme &&\n+\t\tsvn_cmd ci -m \"trunk stunk\" &&\n \t\techo \"stunk like junk\" >> stunk/readme &&\n-\t\tsvn ci -m \"really stunk\" &&\n+\t\tsvn_cmd ci -m \"really stunk\" &&\n \t\techo \"stink stank stunk\" >> stunk/readme &&\n-\t\tsvn ci -m \"even the grinch agrees\"\n+\t\tsvn_cmd ci -m \"even the grinch agrees\"\n \t) &&\n-\tsvn copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n+\tsvn_cmd copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n \t{ svn cp -m \"early stunk flunked too\" \\\n \t\t\"$svnrepo\"/stunk@17 \"$svnrepo\"/flunked ||\n-\tsvn cp -m \"early stunk flunked too\" \\\n+\tsvn_cmd cp -m \"early stunk flunked too\" \\\n \t\t-r17 \"$svnrepo\"/stunk \"$svnrepo\"/flunked; } &&\n \tgit svn init --minimize-url -i stunk \"$svnrepo\"/stunk &&\n \tgit svn fetch -i stunk &&\n@@ -192,7 +192,7 @@ test_expect_success \"follow-parent is atomic\" '\n \t'\n \n test_expect_success \"track multi-parent paths\" '\n-\tsvn cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n+\tsvn_cmd cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n \tgit svn multi-fetch &&\n \ttest `git cat-file commit refs/remotes/glob | \\\n \t       grep \"^parent \" | wc -l` -eq 2\ndiff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh\nindex ba99abb..dd48e9c 100755\n--- a/t/t9105-git-svn-commit-diff.sh\n+++ b/t/t9105-git-svn-commit-diff.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo hello > readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo hello > readme &&\n \tgit update-index --add readme &&\n@@ -27,16 +27,16 @@ prev=`git rev-parse --verify HEAD^1`\n test_expect_success 'test the commit-diff command' '\n \ttest -n \"$prev\" && test -n \"$head\" &&\n \tgit svn commit-diff -r1 \"$prev\" \"$head\" \"$svnrepo\" &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcmp readme wc/readme\n \t'\n \n test_expect_success 'commit-diff to a sub-directory (with git svn config)' '\n-\tsvn import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n+\tsvn_cmd import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n \tgit svn init --minimize-url \"$svnrepo\"/subdir &&\n \tgit svn fetch &&\n \tgit svn commit-diff -r3 \"$prev\" \"$head\" &&\n-\tsvn cat \"$svnrepo\"/subdir/readme > readme.2 &&\n+\tsvn_cmd cat \"$svnrepo\"/subdir/readme > readme.2 &&\n \tcmp readme readme.2\n \t'\n \ndiff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh\nindex 6eb0fd8..12f21b7 100755\n--- a/t/t9106-git-svn-commit-diff-clobber.sh\n+++ b/t/t9106-git-svn-commit-diff-clobber.sh\n@@ -8,18 +8,18 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo initial > file &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo initial > file &&\n \tgit update-index --add file &&\n \tgit commit -a -m \"initial\"\n \t'\n test_expect_success 'commit change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo second line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"second line from svn\" &&\n+\tsvn_cmd commit -m \"second line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\n@@ -43,11 +43,11 @@ test_expect_success 'dcommit fails to commit because of conflict' '\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n \tgit reset --hard refs/${remotes_git_svn} &&\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo fourth line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"fourth line from svn\" &&\n+\tsvn_cmd commit -m \"fourth line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn &&\n \techo \"fourth line from git\" >> file &&\n@@ -67,11 +67,11 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' \"\n \t\"\n \n test_expect_success 'commit another change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \t\techo third line from svn >> file &&\n \t\tpoke file &&\n-\t\tsvn commit -m \"third line from svn\" &&\n+\t\tsvn_cmd commit -m \"third line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\ndiff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh\nindex acad16a..3a9e077 100755\n--- a/t/t9107-git-svn-migrate.sh\n+++ b/t/t9107-git-svn-migrate.sh\n@@ -12,7 +12,7 @@ test_expect_success 'setup old-looking metadata' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\ndiff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh\nindex d8582b1..d732d31 100755\n--- a/t/t9108-git-svn-glob.sh\n+++ b/t/t9108-git-svn-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/start/src/b/readme &&\n \t\tpoke branches/start/src/b/readme &&\n \t\techo \"hey\" >> branches/start/src/a/readme &&\n \t\tpoke branches/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -102,7 +102,7 @@ test_expect_success 'test disallow multi-globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh\nindex 8f79c3f..c318f9f 100755\n--- a/t/t9109-git-svn-multi-glob.sh\n+++ b/t/t9109-git-svn-multi-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches branches/v1 tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/v1/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/v1/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/v1/start/src/b/readme &&\n \t\tpoke branches/v1/start/src/b/readme &&\n \t\techo \"hey\" >> branches/v1/start/src/a/readme &&\n \t\tpoke branches/v1/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v1/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v1/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -97,25 +97,25 @@ test_expect_success 'test another branch' '\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches/v2 &&\n-\t\tsvn add branches/v2 &&\n-\t\tsvn cp trunk branches/v2/start &&\n-\t\tsvn commit -m \"Another versioned branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches/v2 &&\n+\t\tsvn_cmd cp trunk branches/v2/start &&\n+\t\tsvn_cmd commit -m \"Another versioned branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hello\" >> branches/v2/start/src/b/readme &&\n \t\tpoke branches/v2/start/src/b/readme &&\n \t\techo \"howdy\" >> branches/v2/start/src/a/readme &&\n \t\tpoke branches/v2/start/src/a/readme &&\n-\t\tsvn commit -m \"Changed 2 in v2/start\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v2/start tags/next &&\n+\t\tsvn_cmd commit -m \"Changed 2 in v2/start\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v2/start tags/next &&\n \t\techo \"bye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n \t\techo \"aye\" >> tags/next/src/a/readme &&\n \t\tpoke tags/next/src/a/readme &&\n-\t\tsvn commit -m \"adding more\" &&\n+\t\tsvn_cmd commit -m \"adding more\" &&\n \t\techo \"byebye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n-\t\tsvn commit -m \"adios\"\n+\t\tsvn_cmd commit -m \"adios\"\n \t) &&\n \tgit config --add svn-remote.four.url \"$svnrepo\" &&\n \tgit config --add svn-remote.four.fetch trunk:refs/remotes/four/trunk &&\n@@ -151,7 +151,7 @@ test_expect_success 'test disallow multiple globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh\nindex e9b6128..e8479ce 100755\n--- a/t/t9113-git-svn-dcommit-new-file.sh\n+++ b/t/t9113-git-svn-dcommit-new-file.sh\n@@ -15,7 +15,7 @@ test_description='git svn dcommit new files over svn:// test'\n require_svnserve\n \n test_expect_success 'start tracking an empty repo' '\n-\tsvn mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n+\tsvn_cmd mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n \techo \"[general]\" > \"$rawsvnrepo\"/conf/svnserve.conf &&\n \techo anon-access = write >> \"$rawsvnrepo\"/conf/svnserve.conf &&\n \tstart_svnserve &&\ndiff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh\nindex 17b2855..84f7c9b 100755\n--- a/t/t9114-git-svn-dcommit-merge.sh\n+++ b/t/t9114-git-svn-dcommit-merge.sh\n@@ -35,12 +35,12 @@ EOF\n }\n \n test_expect_success 'setup svn repository' '\n-\tsvn co \"$svnrepo\" mysvnwork &&\n+\tsvn_cmd co \"$svnrepo\" mysvnwork &&\n \tmkdir -p mysvnwork/trunk &&\n \tcd mysvnwork &&\n \t\tbig_text_block >> trunk/README &&\n-\t\tsvn add trunk &&\n-\t\tsvn ci -m \"first commit\" trunk &&\n+\t\tsvn_cmd add trunk &&\n+\t\tsvn_cmd ci -m \"first commit\" trunk &&\n \t\tcd ..\n \t'\n \ndiff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh\nindex fd6d1d2..0374a74 100755\n--- a/t/t9116-git-svn-log.sh\n+++ b/t/t9116-git-svn-log.sh\n@@ -14,7 +14,7 @@ test_expect_success 'setup repository and import' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" -T trunk -b branches -t tags &&\n \tgit svn fetch &&\ndiff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh\nindex dde46cd..b7ef9e2 100755\n--- a/t/t9117-git-svn-init-clone.sh\n+++ b/t/t9117-git-svn-init-clone.sh\n@@ -16,7 +16,7 @@ cd tmp\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo\"/project &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo\"/project &&\n \trm -rf project\n \t'\n \ndiff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh\nindex 7a7c128..ac52bff 100755\n--- a/t/t9118-git-svn-funky-branch-names.sh\n+++ b/t/t9118-git-svn-funky-branch-names.sh\n@@ -13,13 +13,13 @@ scary_ref='Abo-Uebernahme%20(Bug%20#994)'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n \t                \"$svnrepo/pr ject/branches/fun plugin\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t                      \"$svnrepo/pr ject/branches/more fun plugin!\" &&\n-\tsvn cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t              \"$svnrepo/pr ject/branches/$scary_uri\" &&\n \tstart_httpd\n \t'\ndiff --git a/t/t9119-git-svn-info.sh b/t/t9119-git-svn-info.sh\nindex 27dd7c2..95741cb 100755\n--- a/t/t9119-git-svn-info.sh\n+++ b/t/t9119-git-svn-info.sh\n@@ -7,7 +7,7 @@ test_description='git svn info'\n . ./lib-git-svn.sh\n \n # Tested with: svn, version 1.4.4 (r25188)\n-v=`svn --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n+v=`svn_cmd --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n case $v in\n 1.[45].*)\n \t;;\n@@ -31,7 +31,7 @@ ptouch() {\n \t\t\tmy $atime = $mtime;\n \t\t\tutime $atime, $mtime, $git_file;\n \t\t}\n-\t' \"`svn info $2 | grep '^Text Last Updated:'`\" \"$1\"\n+\t' \"`svn_cmd info $2 | grep '^Text Last Updated:'`\" \"$1\"\n }\n \n quoted_svnrepo=\"$(echo $svnrepo | sed 's/ /%20/')\"\n@@ -45,14 +45,14 @@ test_expect_success 'setup repository and import' '\n \t\tmkdir directory &&\n \t\ttouch directory/.placeholder &&\n \t\tln -s directory symlink-directory &&\n-\t\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\t\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" svnwc &&\n+\tsvn_cmd co \"$svnrepo\" svnwc &&\n \tcd svnwc &&\n \t\techo foo > foo &&\n-\t\tsvn add foo &&\n-\t\tsvn commit -m \"change outside directory\" &&\n-\t\tsvn update &&\n+\t\tsvn_cmd add foo &&\n+\t\tsvn_cmd commit -m \"change outside directory\" &&\n+\t\tsvn_cmd update &&\n \tcd .. &&\n \tmkdir gitwc &&\n \tcd gitwc &&\n@@ -143,7 +143,7 @@ test_expect_success 'info added-file' \"\n \tcp gitwc/added-file svnwc/added-file &&\n \tptouch gitwc/added-file svnwc/added-file &&\n \tcd svnwc &&\n-\t\tsvn add added-file > /dev/null &&\n+\t\tsvn_cmd add added-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info added-file) > expected.info-added-file &&\n \t(cd gitwc; git svn info added-file) > actual.info-added-file &&\n@@ -160,7 +160,7 @@ test_expect_success 'info added-directory' \"\n \tptouch gitwc/added-directory svnwc/added-directory &&\n \ttouch gitwc/added-directory/.placeholder &&\n \tcd svnwc &&\n-\t\tsvn add added-directory > /dev/null &&\n+\t\tsvn_cmd add added-directory > /dev/null &&\n \tcd .. &&\n \tcd gitwc &&\n \t\tgit add added-directory &&\n@@ -184,7 +184,7 @@ test_expect_success 'info added-symlink-file' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-file added-symlink-file &&\n-\t\tsvn add added-symlink-file > /dev/null &&\n+\t\tsvn_cmd add added-symlink-file > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-file svnwc/added-symlink-file &&\n \t(cd svnwc; svn info added-symlink-file) \\\n@@ -207,7 +207,7 @@ test_expect_success 'info added-symlink-directory' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-directory added-symlink-directory &&\n-\t\tsvn add added-symlink-directory > /dev/null &&\n+\t\tsvn_cmd add added-symlink-directory > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-directory svnwc/added-symlink-directory &&\n \t(cd svnwc; svn info added-symlink-directory) \\\n@@ -233,7 +233,7 @@ test_expect_success 'info deleted-file' \"\n \t\tgit rm -f file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force file > /dev/null &&\n+\t\tsvn_cmd rm --force file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -254,7 +254,7 @@ test_expect_success 'info deleted-directory' \"\n \t\tgit rm -r -f directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force directory > /dev/null &&\n+\t\tsvn_cmd rm --force directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -275,7 +275,7 @@ test_expect_success 'info deleted-symlink-file' \"\n \t\tgit rm -f symlink-file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-file > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -297,7 +297,7 @@ test_expect_success 'info deleted-symlink-directory' \"\n \t\tgit rm -f symlink-directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-directory > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\ndiff --git a/t/t9120-git-svn-clone-with-percent-escapes.sh b/t/t9120-git-svn-clone-with-percent-escapes.sh\nindex ef2c052..555a018 100755\n--- a/t/t9120-git-svn-clone-with-percent-escapes.sh\n+++ b/t/t9120-git-svn-clone-with-percent-escapes.sh\n@@ -9,7 +9,7 @@ test_description='git svn clone with percent escapes'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n \tstart_httpd\n '\ndiff --git a/t/t9122-git-svn-author.sh b/t/t9122-git-svn-author.sh\nindex 1b1cf47..30013b7 100755\n--- a/t/t9122-git-svn-author.sh\n+++ b/t/t9122-git-svn-author.sh\n@@ -4,12 +4,12 @@ test_description='git svn authorship'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup svn repository' '\n-\tsvn checkout \"$svnrepo\" work.svn &&\n+\tsvn_cmd checkout \"$svnrepo\" work.svn &&\n \t(\n \t\tcd work.svn &&\n \t\techo >file\n-\t\tsvn add file\n-\t\tsvn commit -m \"first commit\" file\n+\t\tsvn_cmd add file\n+\t\tsvn_cmd commit -m \"first commit\" file\n \t)\n '\n \n@@ -74,10 +74,10 @@ test_expect_success 'interact with it via git svn' '\n \t# Make sure there are no svn commit messages with excess blank lines\n \t(\n \t\tcd work.svn &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\t\n-\t\ttest $(svn log -r2:2 | wc -l) = 5 &&\n-\t\ttest $(svn log -r4:4 | wc -l) = 7\n+\t\ttest $(svn_cmd log -r2:2 | wc -l) = 5 &&\n+\t\ttest $(svn_cmd log -r4:4 | wc -l) = 7\n \t)\n '\n \ndiff --git a/t/t9123-git-svn-rebuild-with-rewriteroot.sh b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\nindex cf04152..0455216 100755\n--- a/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n+++ b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n@@ -10,7 +10,7 @@ test_description='git svn respects rewriteRoot during rebuild'\n mkdir import\n cd import\n \ttouch foo\n-\tsvn import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n rm -rf import\n \ndiff --git a/t/t9124-git-svn-dcommit-auto-props.sh b/t/t9124-git-svn-dcommit-auto-props.sh\nindex 263dbf5..d6b076f 100755\n--- a/t/t9124-git-svn-dcommit-auto-props.sh\n+++ b/t/t9124-git-svn-dcommit-auto-props.sh\n@@ -21,7 +21,7 @@ test_expect_success 'initialize git svn' '\n \t(\n \t\tcd import &&\n \t\techo foo >foo &&\n-\t\tsvn import -m \"import for git svn\" . \"$svnrepo\"\n+\t\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\"\n \t) &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"\n@@ -61,23 +61,23 @@ test_expect_success 'check resulting svn repository' '\n (\n \tmkdir work &&\n \tcd work &&\n-\tsvn co \"$svnrepo\" &&\n+\tsvn_cmd co \"$svnrepo\" &&\n \tcd svnrepo &&\n \n \t# Check properties from first commit.\n-\ttest \"x$(svn propget svn:executable exec1.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec1.sh)\" = \\\n+\ttest \"x$(svn_cmd propget svn:executable exec1.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec1.sh)\" = \\\n \t     \"xapplication/x-shellscript\" &&\n-\ttest \"x$(svn propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n-\ttest \"x$(svn propget svn:eol-style hello.txt)\" = \"xnative\" &&\n-\ttest \"x$(svn propget svn:mime-type bar)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style hello.txt)\" = \"xnative\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type bar)\" = \"x\" &&\n \n \t# Check properties from second commit.\n-\ttest \"x$(svn propget svn:executable exec2.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec2.sh)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:eol-style world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type zot)\" = \"x\"\n+\ttest \"x$(svn_cmd propget svn:executable exec2.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec2.sh)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type zot)\" = \"x\"\n )\n '\n \n@@ -89,12 +89,12 @@ test_expect_success 'check renamed file' '\n \tgit svn dcommit --config-dir=user &&\n \t(\n \t\tcd work/svnrepo &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\ttest ! -e foo &&\n \t\ttest -e foo.sh &&\n-\t\ttest \"x$(svn propget svn:mime-type foo.sh)\" = \\\n+\t\ttest \"x$(svn_cmd propget svn:mime-type foo.sh)\" = \\\n \t\t     \"xapplication/x-shellscript\" &&\n-\t\ttest \"x$(svn propget svn:eol-style foo.sh)\" = \"xLF\"\n+\t\ttest \"x$(svn_cmd propget svn:eol-style foo.sh)\" = \"xLF\"\n \t)\n '\n \ndiff --git a/t/t9125-git-svn-multi-glob-branch-names.sh b/t/t9125-git-svn-multi-glob-branch-names.sh\nindex 475c751..c194186 100755\n--- a/t/t9125-git-svn-multi-glob-branch-names.sh\n+++ b/t/t9125-git-svn-multi-glob-branch-names.sh\n@@ -8,11 +8,11 @@ test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches \\\n \t\t\tproject/branches/v14.1 project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/project\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/project\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n \t                \"$svnrepo/project/branches/v14.1/beta\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n \t                      \"$svnrepo/project/branches/v14.1/gold\"\n \t'\n \ndiff --git a/t/t9127-git-svn-partial-rebuild.sh b/t/t9127-git-svn-partial-rebuild.sh\nindex 87696a9..4aab8ec 100755\n--- a/t/t9127-git-svn-partial-rebuild.sh\n+++ b/t/t9127-git-svn-partial-rebuild.sh\n@@ -14,21 +14,21 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n-\t\tsvn copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n \t\t\t-m \"created branch a\" &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n-\t\tsvn co \"$svnrepo\"/branches/a a &&\n+\t\tsvn_cmd co \"$svnrepo\"/branches/a a &&\n \t\tcd a &&\n \t\techo baz >> a &&\n-\t\tsvn add a &&\n-\t\tsvn ci -m \"updated a\" &&\n+\t\tsvn_cmd add a &&\n+\t\tsvn_cmd ci -m \"updated a\" &&\n \t\tcd .. &&\n \t\tgit svn init --stdlayout \"$svnrepo\"\n \t)\ndiff --git a/t/t9128-git-svn-cmd-branch.sh b/t/t9128-git-svn-cmd-branch.sh\nindex 252daa7..807e494 100755\n--- a/t/t9128-git-svn-cmd-branch.sh\n+++ b/t/t9128-git-svn-cmd-branch.sh\n@@ -14,13 +14,13 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n \t\trm -rf trunk\n \t)\n@@ -57,14 +57,14 @@ test_expect_success 'git svn branch tests' '\n '\n \n test_expect_success 'branch uses correct svn-remote' '\n-\t(svn co \"$svnrepo\" svn &&\n+\t(svn_cmd co \"$svnrepo\" svn &&\n \tcd svn &&\n \tmkdir mirror &&\n-\tsvn add mirror &&\n-\tsvn copy trunk mirror/ &&\n-\tsvn copy tags mirror/ &&\n-\tsvn copy branches mirror/ &&\n-\tsvn ci -m \"made mirror\" ) &&\n+\tsvn_cmd add mirror &&\n+\tsvn_cmd copy trunk mirror/ &&\n+\tsvn_cmd copy tags mirror/ &&\n+\tsvn_cmd copy branches mirror/ &&\n+\tsvn_cmd ci -m \"made mirror\" ) &&\n \trm -rf svn &&\n \tgit svn init -s -R mirror --prefix=mirror/ \"$svnrepo\"/mirror &&\n \tgit svn fetch -R mirror &&\ndiff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh\nindex 3200ab3..d45fb73 100755\n--- a/t/t9129-git-svn-i18n-commitencoding.sh\n+++ b/t/t9129-git-svn-i18n-commitencoding.sh\n@@ -33,7 +33,7 @@ for H in ISO-8859-1 EUCJP ISO-2022-JP\n do\n \ttest_expect_success \"$H setup\" '\n \t\tmkdir $H &&\n-\t\tsvn import -m \"$H test\" $H \"$svnrepo\"/$H &&\n+\t\tsvn_cmd import -m \"$H test\" $H \"$svnrepo\"/$H &&\n \t\tgit svn clone \"$svnrepo\"/$H $H\n \t'\n done\ndiff --git a/t/t9130-git-svn-authors-file.sh b/t/t9130-git-svn-authors-file.sh\nindex b8fb277..f5abdb3 100755\n--- a/t/t9130-git-svn-authors-file.sh\n+++ b/t/t9130-git-svn-authors-file.sh\n@@ -15,7 +15,7 @@ EOF\n test_expect_success 'setup svnrepo' '\n \tfor i in aa bb cc dd\n \tdo\n-\t\tsvn mkdir -m $i --username $i \"$svnrepo\"/$i\n+\t\tsvn_cmd mkdir -m $i --username $i \"$svnrepo\"/$i\n \tdone\n \t'\n \n@@ -52,13 +52,13 @@ test_expect_success 'continues to import once authors have been added' '\n \t'\n \n test_expect_success 'authors-file against globs' '\n-\tsvn mkdir -m globs --username aa \\\n+\tsvn_cmd mkdir -m globs --username aa \\\n \t  \"$svnrepo\"/aa/trunk \"$svnrepo\"/aa/branches \"$svnrepo\"/aa/tags &&\n \tgit svn clone --authors-file=svn-authors -s \"$svnrepo\"/aa aa-work &&\n \tfor i in bb ee cc\n \tdo\n \t\tbranch=\"aa/branches/$i\"\n-\t\tsvn mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n+\t\tsvn_cmd mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n \tdone\n \t'\n \ndiff --git a/t/t9133-git-svn-nested-git-repo.sh b/t/t9133-git-svn-nested-git-repo.sh\nindex 893f57e..f3c30e6 100755\n--- a/t/t9133-git-svn-nested-git-repo.sh\n+++ b/t/t9133-git-svn-nested-git-repo.sh\n@@ -7,19 +7,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup repo with a git repo inside it' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tgit init &&\n \t\ttest -f .git/HEAD &&\n \t\t> .git/a &&\n \t\techo a > a &&\n-\t\tsvn add .git a &&\n-\t\tsvn commit -m \"create a nested git repo\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add .git a &&\n+\t\tsvn_cmd commit -m \"create a nested git repo\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> .git/a &&\n-\t\tsvn commit -m \"modify .git/a\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify .git/a\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -33,9 +33,9 @@ test_expect_success 'SVN-side change outside of .git' '\n \t(\n \t\tcd s &&\n \t\techo b >> a &&\n-\t\tsvn commit -m \"SVN-side change outside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of .git\"\n \t)\n '\n \n@@ -56,10 +56,10 @@ test_expect_success 'SVN-side change inside of .git' '\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n \t\tgit log &&\n-\t\tsvn add --force .git &&\n-\t\tsvn commit -m \"SVN-side change inside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of .git\"\n+\t\tsvn_cmd add --force .git &&\n+\t\tsvn_cmd commit -m \"SVN-side change inside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of .git\"\n \t)\n '\n \n@@ -80,9 +80,9 @@ test_expect_success 'SVN-side change in and out of .git' '\n \t\techo c >> a &&\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n-\t\tsvn commit -m \"SVN-side change in and out of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of .git\"\n \t)\n '\n \ndiff --git a/t/t9134-git-svn-ignore-paths.sh b/t/t9134-git-svn-ignore-paths.sh\nindex 71fdc4a..09ff10c 100755\n--- a/t/t9134-git-svn-ignore-paths.sh\n+++ b/t/t9134-git-svn-ignore-paths.sh\n@@ -8,19 +8,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup test repository' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tmkdir qqq www &&\n \t\techo test_qqq > qqq/test_qqq.txt &&\n \t\techo test_www > www/test_www.txt &&\n-\t\tsvn add qqq &&\n-\t\tsvn add www &&\n-\t\tsvn commit -m \"create some files\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add qqq &&\n+\t\tsvn_cmd add www &&\n+\t\tsvn_cmd commit -m \"create some files\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> www/test_www.txt &&\n-\t\tsvn commit -m \"modify www/test_www.txt\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify www/test_www.txt\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -51,9 +51,9 @@ test_expect_success 'SVN-side change outside of www' '\n \t(\n \t\tcd s &&\n \t\techo b >> qqq/test_qqq.txt &&\n-\t\tsvn commit -m \"SVN-side change outside of www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of www\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of www\"\n \t)\n '\n \n@@ -83,9 +83,9 @@ test_expect_success 'SVN-side change inside of ignored www' '\n \t(\n \t\tcd s &&\n \t\techo zaq >> www/test_www.txt\n-\t\tsvn commit -m \"SVN-side change inside of www/test_www.txt\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n+\t\tsvn_cmd commit -m \"SVN-side change inside of www/test_www.txt\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n \t)\n '\n \n@@ -116,9 +116,9 @@ test_expect_success 'SVN-side change in and out of ignored www' '\n \t\tcd s &&\n \t\techo cvf >> www/test_www.txt\n \t\techo ygg >> qqq/test_qqq.txt\n-\t\tsvn commit -m \"SVN-side change in and out of ignored www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of ignored www\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of ignored www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of ignored www\"\n \t)\n '\n \ndiff --git a/t/t9137-git-svn-dcommit-clobber-series.sh b/t/t9137-git-svn-dcommit-clobber-series.sh\nindex fd18501..636ca0a 100755\n--- a/t/t9137-git-svn-dcommit-clobber-series.sh\n+++ b/t/t9137-git-svn-dcommit-clobber-series.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \tawk \"BEGIN { for (i = 1; i < 64; i++) { print i } }\" > file\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n@@ -18,14 +18,14 @@ test_expect_success 'initialize repo' '\n test_expect_success '(supposedly) non-conflicting change from SVN' '\n \ttest x\"`sed -n -e 58p < file`\" = x58 &&\n \ttest x\"`sed -n -e 61p < file`\" = x61 &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \tcd tmp &&\n \t\tperl -i.bak -p -e \"s/^58$/5588/\" file &&\n \t\tperl -i.bak -p -e \"s/^61$/6611/\" file &&\n \t\tpoke file &&\n \t\ttest x\"`sed -n -e 58p < file`\" = x5588 &&\n \t\ttest x\"`sed -n -e 61p < file`\" = x6611 &&\n-\t\tsvn commit -m \"58 => 5588, 61 => 6611\" &&\n+\t\tsvn_cmd commit -m \"58 => 5588, 61 => 6611\" &&\n \t\tcd ..\n \t'\n \n@@ -46,7 +46,7 @@ test_expect_success 'change file but in unrelated area' \"\n \ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n \tgit commit -m '4 => 4444, 7 => 7777' file &&\n \tgit svn dcommit &&\n-\tsvn up tmp &&\n+\tsvn_cmd up tmp &&\n \tcd tmp &&\n \t\ttest x\\\"\\`sed -n -e 4p < file\\`\\\" = x4444 &&\n \t\ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n-- \n1.6.2.4\n-- \nEygene\n"},{"id":"112829","messageId":"7vfxfowugm.fsf@gitster.siamese.dyndns.org","threadId":"19147","inReplyTo":"BfKhGHDBpSzjNF/dt4ZDx88u9wI@BjOYljNjUB0FD+/Fw7pzaXMw/Hc","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-05-01T18:26:17Z","receivedAt":"2009-05-01T18:26:17Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n\n> @@ -54,6 +56,20 @@ poke() {\n>  \ttest-chmtime +1 \"$1\"\n>  }\n>  \n> +# We need this, because we should pass empty configuration directory to\n> +# the 'svn commit' to avoid automated property changes and other stuff\n> +# that could be set from user's configuration files in ~/.subversion.\n> +svn_cmd () {\n> +\tlocal cmd\n\nDoes this work without your /bin/sh being bash?\n"},{"id":"112832","messageId":"Z0zFdWIzyQzuBQjCf+Jk/nJtvIw@BjOYljNjUB0FD+/Fw7pzaXMw/Hc","threadId":"19147","inReplyTo":"7vfxfowugm.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eygene Ryabinkin","fromEmail":"rea-git@codelabs.ru","sentAt":"2009-05-01T19:10:07Z","receivedAt":"2009-05-01T19:10:07Z","isPatch":true,"sender":{"key":"rea-git@codelabs.ru","avatar":null},"body":"Junio, good day.\n\nFri, May 01, 2009 at 11:26:17AM -0700, Junio C Hamano wrote:\n> Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n> \n> > @@ -54,6 +56,20 @@ poke() {\n> >  \ttest-chmtime +1 \"$1\"\n> >  }\n> >  \n> > +# We need this, because we should pass empty configuration directory to\n> > +# the 'svn commit' to avoid automated property changes and other stuff\n> > +# that could be set from user's configuration files in ~/.subversion.\n> > +svn_cmd () {\n> > +\tlocal cmd\n> \n> Does this work without your /bin/sh being bash?\n\nYes.\n\nNaturally speaking, my /bin/sh isn't bash, but I had substituted it with\nthe binary of bash 4.0.10(2) and it works.  Moreover, I had just run\nt/t9100-*.sh on the RHEL 4.x -- works too.\n\nWhat are your concerns, 'local'?\n-- \nEygene\n"},{"id":"112847","messageId":"7viqkkv43t.fsf@gitster.siamese.dyndns.org","threadId":"19147","inReplyTo":"Z0zFdWIzyQzuBQjCf+Jk/nJtvIw@BjOYljNjUB0FD+/Fw7pzaXMw/Hc","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-05-01T22:40:54Z","receivedAt":"2009-05-01T22:40:54Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n\n> What are your concerns, 'local'?\n\nExactly.\n"},{"id":"112872","messageId":"GzXVCxlG1vigUEGxhNBLVXNYljM@AnOk+mYbmYVORDu5SWQWxomMUcc","threadId":"19147","inReplyTo":"7viqkkv43t.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eygene Ryabinkin","fromEmail":"rea-git@codelabs.ru","sentAt":"2009-05-02T10:36:29Z","receivedAt":"2009-05-02T10:36:29Z","isPatch":true,"sender":{"key":"rea-git@codelabs.ru","avatar":null},"body":"Junio,\n\nFri, May 01, 2009 at 03:40:54PM -0700, Junio C Hamano wrote:\n> Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n> \n> > What are your concerns, 'local'?\n> \n> Exactly.\n\nIt exists in Bash and in *BSD /bin/sh.  It does not exist in Korn shell\n(at least, I am failing to find one).  I can just remove 'local' from\nthe function, since it plays no big role, but generally I don't like to\npollute parent namespace by local variables.  Certainly, if 'local' will\nbreak some known shell -- I'll refrain from using it in this script.\n\nDo you know an example of shell that is used by Git (thus being /bin/sh\nin the system) and that lacks 'local' builtin?\n\nThanks!\n-- \nEygene\n"},{"id":"112875","messageId":"7vtz437m6r.fsf@alter.siamese.dyndns.org","threadId":"19147","inReplyTo":"GzXVCxlG1vigUEGxhNBLVXNYljM@AnOk+mYbmYVORDu5SWQWxomMUcc","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-05-02T11:56:28Z","receivedAt":"2009-05-02T11:56:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n\n>> > What are your concerns, 'local'?\n>> \n>> Exactly.\n>\n> It exists in Bash and in *BSD /bin/sh.  It does not exist in Korn shell\n> (at least, I am failing to find one).  I can just remove 'local' from\n> the function, since it plays no big role, but generally I don't like to\n> pollute parent namespace by local variables.  Certainly, if 'local' will\n> break some known shell -- I'll refrain from using it in this script.\n\nYup, please.  This is \"it is not even in POSIX, so let's not use it\"\ncategory.\n"},{"id":"112974","messageId":"Lpio3mDQDlK3iIczVIH3OPF7/N0@psUvbB26hX94GoQd3C5ThNBxOp8","threadId":"19147","inReplyTo":"7vtz437m6r.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eygene Ryabinkin","fromEmail":"rea-git@codelabs.ru","sentAt":"2009-05-04T13:05:25Z","receivedAt":"2009-05-04T13:05:25Z","isPatch":true,"sender":{"key":"rea-git@codelabs.ru","avatar":null},"body":"Junio, good day.\n\nSat, May 02, 2009 at 04:56:28AM -0700, Junio C Hamano wrote:\n> Eygene Ryabinkin <rea-git@codelabs.ru> writes:\n> > It exists in Bash and in *BSD /bin/sh.  It does not exist in Korn shell\n> > (at least, I am failing to find one).  I can just remove 'local' from\n> > the function, since it plays no big role, but generally I don't like to\n> > pollute parent namespace by local variables.  Certainly, if 'local' will\n> > break some known shell -- I'll refrain from using it in this script.\n> \n> Yup, please.  This is \"it is not even in POSIX, so let's not use it\"\n> category.\n\nNo problems, new patch is attached.  'make test' still works fine.\n-- \nEygene\n\n\nFrom 39886b6a99082234ab17f0c4adf86770c1f0d8ca Mon Sep 17 00:00:00 2001\nFrom: Eygene Ryabinkin <rea-git@codelabs.ru>\nDate: Wed, 29 Apr 2009 18:15:26 +0400\nSubject: [PATCH 1/2] git-svn testsuite: use standard configuration for Subversion tools\n\nI have tweaked configuration in my ~/.subversion directory, namely I am\nrunning auto-properties and automatically adding '$Id$' expansion to\nevery file.  This choke the last test named 'proplist' from\nt9101-git-svn-props.sh, because one more property, svn:keywords is\nautomatically added.\n\nI had just wrapped svn invocation with the svn_cmd that specifies empty\ndirectory via --config-dir argument.  Since the latter is the global\noption, it should be recognized by all svn subcommands, so no\nregressions will be introduced.\n\nNow svn_cmd is used everywhere, not just in the failed test module: this\nshould guard us from the future clashes with user-defined configuration\ntweaks.\n\nSigned-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>\n---\n t/lib-git-svn.sh                              |   15 ++++++++\n t/t9100-git-svn-basic.sh                      |   14 ++++----\n t/t9101-git-svn-props.sh                      |   38 +++++++++++-----------\n t/t9102-git-svn-deep-rmdir.sh                 |    4 +-\n t/t9103-git-svn-tracked-directory-removed.sh  |    8 ++--\n t/t9104-git-svn-follow-parent.sh              |   40 +++++++++++-----------\n t/t9105-git-svn-commit-diff.sh                |    8 ++--\n t/t9106-git-svn-commit-diff-clobber.sh        |   14 ++++----\n t/t9107-git-svn-migrate.sh                    |    2 +-\n t/t9108-git-svn-glob.sh                       |   26 +++++++-------\n t/t9109-git-svn-multi-glob.sh                 |   44 ++++++++++++------------\n t/t9113-git-svn-dcommit-new-file.sh           |    2 +-\n t/t9114-git-svn-dcommit-merge.sh              |    6 ++--\n t/t9116-git-svn-log.sh                        |    2 +-\n t/t9117-git-svn-init-clone.sh                 |    2 +-\n t/t9118-git-svn-funky-branch-names.sh         |    8 ++--\n t/t9119-git-svn-info.sh                       |   30 ++++++++--------\n t/t9120-git-svn-clone-with-percent-escapes.sh |    2 +-\n t/t9122-git-svn-author.sh                     |   12 +++---\n t/t9123-git-svn-rebuild-with-rewriteroot.sh   |    2 +-\n t/t9124-git-svn-dcommit-auto-props.sh         |   30 ++++++++--------\n t/t9125-git-svn-multi-glob-branch-names.sh    |    6 ++--\n t/t9127-git-svn-partial-rebuild.sh            |   14 ++++----\n t/t9128-git-svn-cmd-branch.sh                 |   18 +++++-----\n t/t9129-git-svn-i18n-commitencoding.sh        |    2 +-\n t/t9130-git-svn-authors-file.sh               |    6 ++--\n t/t9133-git-svn-nested-git-repo.sh            |   32 +++++++++---------\n t/t9134-git-svn-ignore-paths.sh               |   32 +++++++++---------\n t/t9137-git-svn-dcommit-clobber-series.sh     |    8 ++--\n 29 files changed, 221 insertions(+), 206 deletions(-)\n\ndiff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh\nindex 773d47c..5654962 100644\n--- a/t/lib-git-svn.sh\n+++ b/t/lib-git-svn.sh\n@@ -26,6 +26,8 @@ fi\n \n svnrepo=$PWD/svnrepo\n export svnrepo\n+svnconf=$PWD/svnconf\n+export svnconf\n \n perl -w -e \"\n use SVN::Core;\n@@ -54,6 +56,19 @@ poke() {\n \ttest-chmtime +1 \"$1\"\n }\n \n+# We need this, because we should pass empty configuration directory to\n+# the 'svn commit' to avoid automated property changes and other stuff\n+# that could be set from user's configuration files in ~/.subversion.\n+svn_cmd () {\n+\t[ -d \"$svnconf\" ] || mkdir \"$svnconf\"\n+\torig_svncmd=\"$1\"; shift\n+\tif [ -z \"$orig_svncmd\" ]; then\n+\t\tsvn\n+\t\treturn\n+\tfi\n+\tsvn \"$orig_svncmd\" --config-dir \"$svnconf\" \"$@\"\n+}\n+\n for d in \\\n \t\"$SVN_HTTPD_PATH\" \\\n \t/usr/sbin/apache2 \\\ndiff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh\nindex 4eee2e9..64aa7e2 100755\n--- a/t/t9100-git-svn-basic.sh\n+++ b/t/t9100-git-svn-basic.sh\n@@ -31,7 +31,7 @@ test_expect_success \\\n \techo \"zzz\" > bar/zzz &&\n \techo \"#!/bin/sh\" > exec.sh &&\n \tchmod +x exec.sh &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n \tcd .. &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"'\n@@ -51,7 +51,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -d \"$SVN_TREE\"/dir && test ! -d \"$SVN_TREE\"/dir/a'\n \n \n@@ -118,7 +118,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest ! -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -129,7 +129,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -141,7 +141,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -L \"$SVN_TREE\"/exec.sh'\n \n name='new symlink is added to a file that was also just made executable'\n@@ -153,7 +153,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/bar/zzz &&\n \ttest -L \"$SVN_TREE\"/exec-2.sh'\n \n@@ -166,7 +166,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -f \"$SVN_TREE\"/exec-2.sh &&\n \ttest ! -L \"$SVN_TREE\"/exec-2.sh &&\n \ttest_cmp help \"$SVN_TREE\"/exec-2.sh'\ndiff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh\nindex 1e31d6e..9da4178 100755\n--- a/t/t9101-git-svn-props.sh\n+++ b/t/t9101-git-svn-props.sh\n@@ -48,7 +48,7 @@ EOF\n \tprintf \"\\r\\n\" > empty_crlf\n \ta_empty_crlf=`git hash-object -w empty_crlf`\n \n-\tsvn import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n \n rm -rf import\n@@ -57,13 +57,13 @@ test_expect_success 'setup some commits to svn' \\\n \t'cd test_wc &&\n \t\techo Greetings >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Not yet an Id\" &&\n+\t\tsvn_cmd commit -m \"Not yet an Id\" &&\n \t\techo Hello world >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Modified file, but still not yet an Id\" &&\n-\t\tsvn propset svn:keywords Id kw.c &&\n+\t\tsvn_cmd commit -m \"Modified file, but still not yet an Id\" &&\n+\t\tsvn_cmd propset svn:keywords Id kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Propset Id\" &&\n+\t\tsvn_cmd commit -m \"Propset Id\" &&\n \tcd ..'\n \n test_expect_success 'initialize git svn' 'git svn init \"$svnrepo\"'\n@@ -83,16 +83,16 @@ test_expect_success 'raw $Id$ found in kw.c' \"test '$expect' = '$got'\"\n \n test_expect_success \"propset CR on crlf files\" \\\n \t'cd test_wc &&\n-\t\tsvn propset svn:eol-style CR empty &&\n-\t\tsvn propset svn:eol-style CR crlf &&\n-\t\tsvn propset svn:eol-style CR ne_crlf &&\n-\t\tsvn commit -m \"propset CR on crlf files\" &&\n+\t\tsvn_cmd propset svn:eol-style CR empty &&\n+\t\tsvn_cmd propset svn:eol-style CR crlf &&\n+\t\tsvn_cmd propset svn:eol-style CR ne_crlf &&\n+\t\tsvn_cmd commit -m \"propset CR on crlf files\" &&\n \t cd ..'\n \n test_expect_success 'fetch and pull latest from svn and checkout a new wc' \\\n \t'git svn fetch &&\n \t git pull . ${remotes_git_svn} &&\n-\t svn co \"$svnrepo\" new_wc'\n+\t svn_cmd co \"$svnrepo\" new_wc'\n \n for i in crlf ne_crlf lf ne_lf cr ne_cr empty_cr empty_lf empty empty_crlf\n do\n@@ -106,11 +106,11 @@ cd test_wc\n \ta_cr=`printf '$Id$\\r\\nHello\\r\\nWorld\\r\\n' | git hash-object --stdin`\n \ta_ne_cr=`printf '$Id$\\r\\nHello\\r\\nWorld' | git hash-object --stdin`\n \ttest_expect_success 'Set CRLF on cr files' \\\n-\t'svn propset svn:eol-style CRLF cr &&\n-\t svn propset svn:eol-style CRLF ne_cr &&\n-\t svn propset svn:keywords Id cr &&\n-\t svn propset svn:keywords Id ne_cr &&\n-\t svn commit -m \"propset CRLF on cr files\"'\n+\t'svn_cmd propset svn:eol-style CRLF cr &&\n+\t svn_cmd propset svn:eol-style CRLF ne_cr &&\n+\t svn_cmd propset svn:keywords Id cr &&\n+\t svn_cmd propset svn:keywords Id ne_cr &&\n+\t svn_cmd commit -m \"propset CRLF on cr files\"'\n cd ..\n test_expect_success 'fetch and pull latest from svn' \\\n \t'git svn fetch && git pull . ${remotes_git_svn}'\n@@ -140,10 +140,10 @@ test_expect_success 'test show-ignore' \"\n \tcd test_wc &&\n \tmkdir -p deeply/nested/directory &&\n \ttouch deeply/nested/directory/.keep &&\n-\tsvn add deeply &&\n-\tsvn up &&\n-\tsvn propset -R svn:ignore 'no-such-file*' .\n-\tsvn commit -m 'propset svn:ignore'\n+\tsvn_cmd add deeply &&\n+\tsvn_cmd up &&\n+\tsvn_cmd propset -R svn:ignore 'no-such-file*' .\n+\tsvn_cmd commit -m 'propset svn:ignore'\n \tcd .. &&\n \tgit svn show-ignore > show-ignore.got &&\n \tcmp show-ignore.expect show-ignore.got\ndiff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh\nindex e223218..028fb19 100755\n--- a/t/t9102-git-svn-deep-rmdir.sh\n+++ b/t/t9102-git-svn-deep-rmdir.sh\n@@ -9,7 +9,7 @@ test_expect_success 'initialize repo' '\n \tmkdir -p deeply/nested/directory/number/2 &&\n \techo foo > deeply/nested/directory/number/1/file &&\n \techo foo > deeply/nested/directory/number/2/another &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" &&\n \tcd ..\n \t'\n \n@@ -23,7 +23,7 @@ test_expect_success 'Try a commit on rmdir' '\n \tgit rm -f deeply/nested/directory/number/2/another &&\n \tgit commit -a -m \"remove another\" &&\n \tgit svn set-tree --rmdir HEAD &&\n-\tsvn ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n+\tsvn_cmd ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n \t'\n \n \ndiff --git a/t/t9103-git-svn-tracked-directory-removed.sh b/t/t9103-git-svn-tracked-directory-removed.sh\nindex 963dd95..3413164 100755\n--- a/t/t9103-git-svn-tracked-directory-removed.sh\n+++ b/t/t9103-git-svn-tracked-directory-removed.sh\n@@ -10,15 +10,15 @@ test_expect_success 'make history for tracking' '\n \tmkdir import &&\n \tmkdir import/trunk &&\n \techo hello >> import/trunk/README &&\n-\tsvn import -m initial import \"$svnrepo\" &&\n+\tsvn_cmd import -m initial import \"$svnrepo\" &&\n \trm -rf import &&\n-\tsvn co \"$svnrepo\"/trunk trunk &&\n+\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \techo bye bye >> trunk/README &&\n-\tsvn rm -m \"gone\" \"$svnrepo\"/trunk &&\n+\tsvn_cmd rm -m \"gone\" \"$svnrepo\"/trunk &&\n \trm -rf trunk &&\n \tmkdir trunk &&\n \techo \"new\" > trunk/FOLLOWME &&\n-\tsvn import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n+\tsvn_cmd import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n '\n \n test_expect_success 'clone repo with git' '\ndiff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh\nindex ab9fa32..78610b6 100755\n--- a/t/t9104-git-svn-follow-parent.sh\n+++ b/t/t9104-git-svn-follow-parent.sh\n@@ -11,18 +11,18 @@ test_expect_success 'initialize repo' '\n \tcd import &&\n \tmkdir -p trunk &&\n \techo hello > trunk/readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcd wc &&\n \techo world >> trunk/readme &&\n \tpoke trunk/readme &&\n-\tsvn commit -m \"another commit\" &&\n-\tsvn up &&\n-\tsvn mv trunk thunk &&\n+\tsvn_cmd commit -m \"another commit\" &&\n+\tsvn_cmd up &&\n+\tsvn_cmd mv trunk thunk &&\n \techo goodbye >> thunk/readme &&\n \tpoke thunk/readme &&\n-\tsvn commit -m \"bye now\" &&\n+\tsvn_cmd commit -m \"bye now\" &&\n \tcd ..\n \t'\n \n@@ -51,7 +51,7 @@ test_expect_success 'init and fetch from one svn-remote' '\n         '\n \n test_expect_success 'follow deleted parent' '\n-        (svn cp -m \"resurrecting trunk as junk\" \\\n+        (svn_cmd cp -m \"resurrecting trunk as junk\" \\\n                \"$svnrepo\"/trunk@2 \"$svnrepo\"/junk ||\n          svn cp -m \"resurrecting trunk as junk\" \\\n                -r2 \"$svnrepo\"/trunk \"$svnrepo\"/junk) &&\n@@ -97,8 +97,8 @@ test_expect_success 'follow higher-level parent' '\n         '\n \n test_expect_success 'follow deleted directory' '\n-\tsvn mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n-\tsvn rm -m \"remove glob\" \"$svnrepo\"/glob &&\n+\tsvn_cmd mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n+\tsvn_cmd rm -m \"remove glob\" \"$svnrepo\"/glob &&\n \tgit svn init --minimize-url -i glob \"$svnrepo\"/glob &&\n \tgit svn fetch -i glob &&\n \ttest \"`git cat-file blob refs/remotes/glob:blob/bye`\" = hi &&\n@@ -120,7 +120,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \tcd import &&\n \t  svn import -m \"r9270 test\" . \"$svnrepo\"/r9270 &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n+\tsvn_cmd co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n \tcd r9270 &&\n \t  svn mkdir native &&\n \t  svn mv t native/t &&\n@@ -138,7 +138,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \t'\n \n test_expect_success \"track initial change if it was only made to parent\" '\n-\tsvn cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n+\tsvn_cmd cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n \tgit svn init --minimize-url -i r9270-d \\\n \t  \"$svnrepo\"/r9270/drunk/subversion/bindings/swig/perl/native/t &&\n \tgit svn fetch -i r9270-d &&\n@@ -152,20 +152,20 @@ test_expect_success \"track initial change if it was only made to parent\" '\n test_expect_success \"follow-parent is atomic\" '\n \t(\n \t\tcd wc &&\n-\t\tsvn up &&\n-\t\tsvn mkdir stunk &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd mkdir stunk &&\n \t\techo \"trunk stunk\" > stunk/readme &&\n-\t\tsvn add stunk/readme &&\n-\t\tsvn ci -m \"trunk stunk\" &&\n+\t\tsvn_cmd add stunk/readme &&\n+\t\tsvn_cmd ci -m \"trunk stunk\" &&\n \t\techo \"stunk like junk\" >> stunk/readme &&\n-\t\tsvn ci -m \"really stunk\" &&\n+\t\tsvn_cmd ci -m \"really stunk\" &&\n \t\techo \"stink stank stunk\" >> stunk/readme &&\n-\t\tsvn ci -m \"even the grinch agrees\"\n+\t\tsvn_cmd ci -m \"even the grinch agrees\"\n \t) &&\n-\tsvn copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n+\tsvn_cmd copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n \t{ svn cp -m \"early stunk flunked too\" \\\n \t\t\"$svnrepo\"/stunk@17 \"$svnrepo\"/flunked ||\n-\tsvn cp -m \"early stunk flunked too\" \\\n+\tsvn_cmd cp -m \"early stunk flunked too\" \\\n \t\t-r17 \"$svnrepo\"/stunk \"$svnrepo\"/flunked; } &&\n \tgit svn init --minimize-url -i stunk \"$svnrepo\"/stunk &&\n \tgit svn fetch -i stunk &&\n@@ -192,7 +192,7 @@ test_expect_success \"follow-parent is atomic\" '\n \t'\n \n test_expect_success \"track multi-parent paths\" '\n-\tsvn cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n+\tsvn_cmd cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n \tgit svn multi-fetch &&\n \ttest `git cat-file commit refs/remotes/glob | \\\n \t       grep \"^parent \" | wc -l` -eq 2\ndiff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh\nindex ba99abb..dd48e9c 100755\n--- a/t/t9105-git-svn-commit-diff.sh\n+++ b/t/t9105-git-svn-commit-diff.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo hello > readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo hello > readme &&\n \tgit update-index --add readme &&\n@@ -27,16 +27,16 @@ prev=`git rev-parse --verify HEAD^1`\n test_expect_success 'test the commit-diff command' '\n \ttest -n \"$prev\" && test -n \"$head\" &&\n \tgit svn commit-diff -r1 \"$prev\" \"$head\" \"$svnrepo\" &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcmp readme wc/readme\n \t'\n \n test_expect_success 'commit-diff to a sub-directory (with git svn config)' '\n-\tsvn import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n+\tsvn_cmd import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n \tgit svn init --minimize-url \"$svnrepo\"/subdir &&\n \tgit svn fetch &&\n \tgit svn commit-diff -r3 \"$prev\" \"$head\" &&\n-\tsvn cat \"$svnrepo\"/subdir/readme > readme.2 &&\n+\tsvn_cmd cat \"$svnrepo\"/subdir/readme > readme.2 &&\n \tcmp readme readme.2\n \t'\n \ndiff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh\nindex 6eb0fd8..12f21b7 100755\n--- a/t/t9106-git-svn-commit-diff-clobber.sh\n+++ b/t/t9106-git-svn-commit-diff-clobber.sh\n@@ -8,18 +8,18 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo initial > file &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo initial > file &&\n \tgit update-index --add file &&\n \tgit commit -a -m \"initial\"\n \t'\n test_expect_success 'commit change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo second line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"second line from svn\" &&\n+\tsvn_cmd commit -m \"second line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\n@@ -43,11 +43,11 @@ test_expect_success 'dcommit fails to commit because of conflict' '\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n \tgit reset --hard refs/${remotes_git_svn} &&\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo fourth line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"fourth line from svn\" &&\n+\tsvn_cmd commit -m \"fourth line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn &&\n \techo \"fourth line from git\" >> file &&\n@@ -67,11 +67,11 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' \"\n \t\"\n \n test_expect_success 'commit another change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \t\techo third line from svn >> file &&\n \t\tpoke file &&\n-\t\tsvn commit -m \"third line from svn\" &&\n+\t\tsvn_cmd commit -m \"third line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\ndiff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh\nindex acad16a..3a9e077 100755\n--- a/t/t9107-git-svn-migrate.sh\n+++ b/t/t9107-git-svn-migrate.sh\n@@ -12,7 +12,7 @@ test_expect_success 'setup old-looking metadata' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\ndiff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh\nindex d8582b1..d732d31 100755\n--- a/t/t9108-git-svn-glob.sh\n+++ b/t/t9108-git-svn-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/start/src/b/readme &&\n \t\tpoke branches/start/src/b/readme &&\n \t\techo \"hey\" >> branches/start/src/a/readme &&\n \t\tpoke branches/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -102,7 +102,7 @@ test_expect_success 'test disallow multi-globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh\nindex 8f79c3f..c318f9f 100755\n--- a/t/t9109-git-svn-multi-glob.sh\n+++ b/t/t9109-git-svn-multi-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches branches/v1 tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/v1/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/v1/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/v1/start/src/b/readme &&\n \t\tpoke branches/v1/start/src/b/readme &&\n \t\techo \"hey\" >> branches/v1/start/src/a/readme &&\n \t\tpoke branches/v1/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v1/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v1/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -97,25 +97,25 @@ test_expect_success 'test another branch' '\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches/v2 &&\n-\t\tsvn add branches/v2 &&\n-\t\tsvn cp trunk branches/v2/start &&\n-\t\tsvn commit -m \"Another versioned branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches/v2 &&\n+\t\tsvn_cmd cp trunk branches/v2/start &&\n+\t\tsvn_cmd commit -m \"Another versioned branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hello\" >> branches/v2/start/src/b/readme &&\n \t\tpoke branches/v2/start/src/b/readme &&\n \t\techo \"howdy\" >> branches/v2/start/src/a/readme &&\n \t\tpoke branches/v2/start/src/a/readme &&\n-\t\tsvn commit -m \"Changed 2 in v2/start\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v2/start tags/next &&\n+\t\tsvn_cmd commit -m \"Changed 2 in v2/start\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v2/start tags/next &&\n \t\techo \"bye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n \t\techo \"aye\" >> tags/next/src/a/readme &&\n \t\tpoke tags/next/src/a/readme &&\n-\t\tsvn commit -m \"adding more\" &&\n+\t\tsvn_cmd commit -m \"adding more\" &&\n \t\techo \"byebye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n-\t\tsvn commit -m \"adios\"\n+\t\tsvn_cmd commit -m \"adios\"\n \t) &&\n \tgit config --add svn-remote.four.url \"$svnrepo\" &&\n \tgit config --add svn-remote.four.fetch trunk:refs/remotes/four/trunk &&\n@@ -151,7 +151,7 @@ test_expect_success 'test disallow multiple globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh\nindex e9b6128..e8479ce 100755\n--- a/t/t9113-git-svn-dcommit-new-file.sh\n+++ b/t/t9113-git-svn-dcommit-new-file.sh\n@@ -15,7 +15,7 @@ test_description='git svn dcommit new files over svn:// test'\n require_svnserve\n \n test_expect_success 'start tracking an empty repo' '\n-\tsvn mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n+\tsvn_cmd mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n \techo \"[general]\" > \"$rawsvnrepo\"/conf/svnserve.conf &&\n \techo anon-access = write >> \"$rawsvnrepo\"/conf/svnserve.conf &&\n \tstart_svnserve &&\ndiff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh\nindex 17b2855..84f7c9b 100755\n--- a/t/t9114-git-svn-dcommit-merge.sh\n+++ b/t/t9114-git-svn-dcommit-merge.sh\n@@ -35,12 +35,12 @@ EOF\n }\n \n test_expect_success 'setup svn repository' '\n-\tsvn co \"$svnrepo\" mysvnwork &&\n+\tsvn_cmd co \"$svnrepo\" mysvnwork &&\n \tmkdir -p mysvnwork/trunk &&\n \tcd mysvnwork &&\n \t\tbig_text_block >> trunk/README &&\n-\t\tsvn add trunk &&\n-\t\tsvn ci -m \"first commit\" trunk &&\n+\t\tsvn_cmd add trunk &&\n+\t\tsvn_cmd ci -m \"first commit\" trunk &&\n \t\tcd ..\n \t'\n \ndiff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh\nindex fd6d1d2..0374a74 100755\n--- a/t/t9116-git-svn-log.sh\n+++ b/t/t9116-git-svn-log.sh\n@@ -14,7 +14,7 @@ test_expect_success 'setup repository and import' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" -T trunk -b branches -t tags &&\n \tgit svn fetch &&\ndiff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh\nindex dde46cd..b7ef9e2 100755\n--- a/t/t9117-git-svn-init-clone.sh\n+++ b/t/t9117-git-svn-init-clone.sh\n@@ -16,7 +16,7 @@ cd tmp\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo\"/project &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo\"/project &&\n \trm -rf project\n \t'\n \ndiff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh\nindex 7a7c128..ac52bff 100755\n--- a/t/t9118-git-svn-funky-branch-names.sh\n+++ b/t/t9118-git-svn-funky-branch-names.sh\n@@ -13,13 +13,13 @@ scary_ref='Abo-Uebernahme%20(Bug%20#994)'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n \t                \"$svnrepo/pr ject/branches/fun plugin\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t                      \"$svnrepo/pr ject/branches/more fun plugin!\" &&\n-\tsvn cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t              \"$svnrepo/pr ject/branches/$scary_uri\" &&\n \tstart_httpd\n \t'\ndiff --git a/t/t9119-git-svn-info.sh b/t/t9119-git-svn-info.sh\nindex 27dd7c2..95741cb 100755\n--- a/t/t9119-git-svn-info.sh\n+++ b/t/t9119-git-svn-info.sh\n@@ -7,7 +7,7 @@ test_description='git svn info'\n . ./lib-git-svn.sh\n \n # Tested with: svn, version 1.4.4 (r25188)\n-v=`svn --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n+v=`svn_cmd --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n case $v in\n 1.[45].*)\n \t;;\n@@ -31,7 +31,7 @@ ptouch() {\n \t\t\tmy $atime = $mtime;\n \t\t\tutime $atime, $mtime, $git_file;\n \t\t}\n-\t' \"`svn info $2 | grep '^Text Last Updated:'`\" \"$1\"\n+\t' \"`svn_cmd info $2 | grep '^Text Last Updated:'`\" \"$1\"\n }\n \n quoted_svnrepo=\"$(echo $svnrepo | sed 's/ /%20/')\"\n@@ -45,14 +45,14 @@ test_expect_success 'setup repository and import' '\n \t\tmkdir directory &&\n \t\ttouch directory/.placeholder &&\n \t\tln -s directory symlink-directory &&\n-\t\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\t\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" svnwc &&\n+\tsvn_cmd co \"$svnrepo\" svnwc &&\n \tcd svnwc &&\n \t\techo foo > foo &&\n-\t\tsvn add foo &&\n-\t\tsvn commit -m \"change outside directory\" &&\n-\t\tsvn update &&\n+\t\tsvn_cmd add foo &&\n+\t\tsvn_cmd commit -m \"change outside directory\" &&\n+\t\tsvn_cmd update &&\n \tcd .. &&\n \tmkdir gitwc &&\n \tcd gitwc &&\n@@ -143,7 +143,7 @@ test_expect_success 'info added-file' \"\n \tcp gitwc/added-file svnwc/added-file &&\n \tptouch gitwc/added-file svnwc/added-file &&\n \tcd svnwc &&\n-\t\tsvn add added-file > /dev/null &&\n+\t\tsvn_cmd add added-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info added-file) > expected.info-added-file &&\n \t(cd gitwc; git svn info added-file) > actual.info-added-file &&\n@@ -160,7 +160,7 @@ test_expect_success 'info added-directory' \"\n \tptouch gitwc/added-directory svnwc/added-directory &&\n \ttouch gitwc/added-directory/.placeholder &&\n \tcd svnwc &&\n-\t\tsvn add added-directory > /dev/null &&\n+\t\tsvn_cmd add added-directory > /dev/null &&\n \tcd .. &&\n \tcd gitwc &&\n \t\tgit add added-directory &&\n@@ -184,7 +184,7 @@ test_expect_success 'info added-symlink-file' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-file added-symlink-file &&\n-\t\tsvn add added-symlink-file > /dev/null &&\n+\t\tsvn_cmd add added-symlink-file > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-file svnwc/added-symlink-file &&\n \t(cd svnwc; svn info added-symlink-file) \\\n@@ -207,7 +207,7 @@ test_expect_success 'info added-symlink-directory' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-directory added-symlink-directory &&\n-\t\tsvn add added-symlink-directory > /dev/null &&\n+\t\tsvn_cmd add added-symlink-directory > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-directory svnwc/added-symlink-directory &&\n \t(cd svnwc; svn info added-symlink-directory) \\\n@@ -233,7 +233,7 @@ test_expect_success 'info deleted-file' \"\n \t\tgit rm -f file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force file > /dev/null &&\n+\t\tsvn_cmd rm --force file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -254,7 +254,7 @@ test_expect_success 'info deleted-directory' \"\n \t\tgit rm -r -f directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force directory > /dev/null &&\n+\t\tsvn_cmd rm --force directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -275,7 +275,7 @@ test_expect_success 'info deleted-symlink-file' \"\n \t\tgit rm -f symlink-file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-file > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -297,7 +297,7 @@ test_expect_success 'info deleted-symlink-directory' \"\n \t\tgit rm -f symlink-directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-directory > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\ndiff --git a/t/t9120-git-svn-clone-with-percent-escapes.sh b/t/t9120-git-svn-clone-with-percent-escapes.sh\nindex ef2c052..555a018 100755\n--- a/t/t9120-git-svn-clone-with-percent-escapes.sh\n+++ b/t/t9120-git-svn-clone-with-percent-escapes.sh\n@@ -9,7 +9,7 @@ test_description='git svn clone with percent escapes'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n \tstart_httpd\n '\ndiff --git a/t/t9122-git-svn-author.sh b/t/t9122-git-svn-author.sh\nindex 1b1cf47..30013b7 100755\n--- a/t/t9122-git-svn-author.sh\n+++ b/t/t9122-git-svn-author.sh\n@@ -4,12 +4,12 @@ test_description='git svn authorship'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup svn repository' '\n-\tsvn checkout \"$svnrepo\" work.svn &&\n+\tsvn_cmd checkout \"$svnrepo\" work.svn &&\n \t(\n \t\tcd work.svn &&\n \t\techo >file\n-\t\tsvn add file\n-\t\tsvn commit -m \"first commit\" file\n+\t\tsvn_cmd add file\n+\t\tsvn_cmd commit -m \"first commit\" file\n \t)\n '\n \n@@ -74,10 +74,10 @@ test_expect_success 'interact with it via git svn' '\n \t# Make sure there are no svn commit messages with excess blank lines\n \t(\n \t\tcd work.svn &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\t\n-\t\ttest $(svn log -r2:2 | wc -l) = 5 &&\n-\t\ttest $(svn log -r4:4 | wc -l) = 7\n+\t\ttest $(svn_cmd log -r2:2 | wc -l) = 5 &&\n+\t\ttest $(svn_cmd log -r4:4 | wc -l) = 7\n \t)\n '\n \ndiff --git a/t/t9123-git-svn-rebuild-with-rewriteroot.sh b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\nindex cf04152..0455216 100755\n--- a/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n+++ b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n@@ -10,7 +10,7 @@ test_description='git svn respects rewriteRoot during rebuild'\n mkdir import\n cd import\n \ttouch foo\n-\tsvn import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n rm -rf import\n \ndiff --git a/t/t9124-git-svn-dcommit-auto-props.sh b/t/t9124-git-svn-dcommit-auto-props.sh\nindex 263dbf5..d6b076f 100755\n--- a/t/t9124-git-svn-dcommit-auto-props.sh\n+++ b/t/t9124-git-svn-dcommit-auto-props.sh\n@@ -21,7 +21,7 @@ test_expect_success 'initialize git svn' '\n \t(\n \t\tcd import &&\n \t\techo foo >foo &&\n-\t\tsvn import -m \"import for git svn\" . \"$svnrepo\"\n+\t\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\"\n \t) &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"\n@@ -61,23 +61,23 @@ test_expect_success 'check resulting svn repository' '\n (\n \tmkdir work &&\n \tcd work &&\n-\tsvn co \"$svnrepo\" &&\n+\tsvn_cmd co \"$svnrepo\" &&\n \tcd svnrepo &&\n \n \t# Check properties from first commit.\n-\ttest \"x$(svn propget svn:executable exec1.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec1.sh)\" = \\\n+\ttest \"x$(svn_cmd propget svn:executable exec1.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec1.sh)\" = \\\n \t     \"xapplication/x-shellscript\" &&\n-\ttest \"x$(svn propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n-\ttest \"x$(svn propget svn:eol-style hello.txt)\" = \"xnative\" &&\n-\ttest \"x$(svn propget svn:mime-type bar)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style hello.txt)\" = \"xnative\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type bar)\" = \"x\" &&\n \n \t# Check properties from second commit.\n-\ttest \"x$(svn propget svn:executable exec2.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec2.sh)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:eol-style world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type zot)\" = \"x\"\n+\ttest \"x$(svn_cmd propget svn:executable exec2.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec2.sh)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type zot)\" = \"x\"\n )\n '\n \n@@ -89,12 +89,12 @@ test_expect_success 'check renamed file' '\n \tgit svn dcommit --config-dir=user &&\n \t(\n \t\tcd work/svnrepo &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\ttest ! -e foo &&\n \t\ttest -e foo.sh &&\n-\t\ttest \"x$(svn propget svn:mime-type foo.sh)\" = \\\n+\t\ttest \"x$(svn_cmd propget svn:mime-type foo.sh)\" = \\\n \t\t     \"xapplication/x-shellscript\" &&\n-\t\ttest \"x$(svn propget svn:eol-style foo.sh)\" = \"xLF\"\n+\t\ttest \"x$(svn_cmd propget svn:eol-style foo.sh)\" = \"xLF\"\n \t)\n '\n \ndiff --git a/t/t9125-git-svn-multi-glob-branch-names.sh b/t/t9125-git-svn-multi-glob-branch-names.sh\nindex 475c751..c194186 100755\n--- a/t/t9125-git-svn-multi-glob-branch-names.sh\n+++ b/t/t9125-git-svn-multi-glob-branch-names.sh\n@@ -8,11 +8,11 @@ test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches \\\n \t\t\tproject/branches/v14.1 project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/project\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/project\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n \t                \"$svnrepo/project/branches/v14.1/beta\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n \t                      \"$svnrepo/project/branches/v14.1/gold\"\n \t'\n \ndiff --git a/t/t9127-git-svn-partial-rebuild.sh b/t/t9127-git-svn-partial-rebuild.sh\nindex 87696a9..4aab8ec 100755\n--- a/t/t9127-git-svn-partial-rebuild.sh\n+++ b/t/t9127-git-svn-partial-rebuild.sh\n@@ -14,21 +14,21 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n-\t\tsvn copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n \t\t\t-m \"created branch a\" &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n-\t\tsvn co \"$svnrepo\"/branches/a a &&\n+\t\tsvn_cmd co \"$svnrepo\"/branches/a a &&\n \t\tcd a &&\n \t\techo baz >> a &&\n-\t\tsvn add a &&\n-\t\tsvn ci -m \"updated a\" &&\n+\t\tsvn_cmd add a &&\n+\t\tsvn_cmd ci -m \"updated a\" &&\n \t\tcd .. &&\n \t\tgit svn init --stdlayout \"$svnrepo\"\n \t)\ndiff --git a/t/t9128-git-svn-cmd-branch.sh b/t/t9128-git-svn-cmd-branch.sh\nindex 252daa7..807e494 100755\n--- a/t/t9128-git-svn-cmd-branch.sh\n+++ b/t/t9128-git-svn-cmd-branch.sh\n@@ -14,13 +14,13 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n \t\trm -rf trunk\n \t)\n@@ -57,14 +57,14 @@ test_expect_success 'git svn branch tests' '\n '\n \n test_expect_success 'branch uses correct svn-remote' '\n-\t(svn co \"$svnrepo\" svn &&\n+\t(svn_cmd co \"$svnrepo\" svn &&\n \tcd svn &&\n \tmkdir mirror &&\n-\tsvn add mirror &&\n-\tsvn copy trunk mirror/ &&\n-\tsvn copy tags mirror/ &&\n-\tsvn copy branches mirror/ &&\n-\tsvn ci -m \"made mirror\" ) &&\n+\tsvn_cmd add mirror &&\n+\tsvn_cmd copy trunk mirror/ &&\n+\tsvn_cmd copy tags mirror/ &&\n+\tsvn_cmd copy branches mirror/ &&\n+\tsvn_cmd ci -m \"made mirror\" ) &&\n \trm -rf svn &&\n \tgit svn init -s -R mirror --prefix=mirror/ \"$svnrepo\"/mirror &&\n \tgit svn fetch -R mirror &&\ndiff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh\nindex 3200ab3..d45fb73 100755\n--- a/t/t9129-git-svn-i18n-commitencoding.sh\n+++ b/t/t9129-git-svn-i18n-commitencoding.sh\n@@ -33,7 +33,7 @@ for H in ISO-8859-1 EUCJP ISO-2022-JP\n do\n \ttest_expect_success \"$H setup\" '\n \t\tmkdir $H &&\n-\t\tsvn import -m \"$H test\" $H \"$svnrepo\"/$H &&\n+\t\tsvn_cmd import -m \"$H test\" $H \"$svnrepo\"/$H &&\n \t\tgit svn clone \"$svnrepo\"/$H $H\n \t'\n done\ndiff --git a/t/t9130-git-svn-authors-file.sh b/t/t9130-git-svn-authors-file.sh\nindex b8fb277..f5abdb3 100755\n--- a/t/t9130-git-svn-authors-file.sh\n+++ b/t/t9130-git-svn-authors-file.sh\n@@ -15,7 +15,7 @@ EOF\n test_expect_success 'setup svnrepo' '\n \tfor i in aa bb cc dd\n \tdo\n-\t\tsvn mkdir -m $i --username $i \"$svnrepo\"/$i\n+\t\tsvn_cmd mkdir -m $i --username $i \"$svnrepo\"/$i\n \tdone\n \t'\n \n@@ -52,13 +52,13 @@ test_expect_success 'continues to import once authors have been added' '\n \t'\n \n test_expect_success 'authors-file against globs' '\n-\tsvn mkdir -m globs --username aa \\\n+\tsvn_cmd mkdir -m globs --username aa \\\n \t  \"$svnrepo\"/aa/trunk \"$svnrepo\"/aa/branches \"$svnrepo\"/aa/tags &&\n \tgit svn clone --authors-file=svn-authors -s \"$svnrepo\"/aa aa-work &&\n \tfor i in bb ee cc\n \tdo\n \t\tbranch=\"aa/branches/$i\"\n-\t\tsvn mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n+\t\tsvn_cmd mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n \tdone\n \t'\n \ndiff --git a/t/t9133-git-svn-nested-git-repo.sh b/t/t9133-git-svn-nested-git-repo.sh\nindex 893f57e..f3c30e6 100755\n--- a/t/t9133-git-svn-nested-git-repo.sh\n+++ b/t/t9133-git-svn-nested-git-repo.sh\n@@ -7,19 +7,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup repo with a git repo inside it' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tgit init &&\n \t\ttest -f .git/HEAD &&\n \t\t> .git/a &&\n \t\techo a > a &&\n-\t\tsvn add .git a &&\n-\t\tsvn commit -m \"create a nested git repo\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add .git a &&\n+\t\tsvn_cmd commit -m \"create a nested git repo\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> .git/a &&\n-\t\tsvn commit -m \"modify .git/a\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify .git/a\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -33,9 +33,9 @@ test_expect_success 'SVN-side change outside of .git' '\n \t(\n \t\tcd s &&\n \t\techo b >> a &&\n-\t\tsvn commit -m \"SVN-side change outside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of .git\"\n \t)\n '\n \n@@ -56,10 +56,10 @@ test_expect_success 'SVN-side change inside of .git' '\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n \t\tgit log &&\n-\t\tsvn add --force .git &&\n-\t\tsvn commit -m \"SVN-side change inside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of .git\"\n+\t\tsvn_cmd add --force .git &&\n+\t\tsvn_cmd commit -m \"SVN-side change inside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of .git\"\n \t)\n '\n \n@@ -80,9 +80,9 @@ test_expect_success 'SVN-side change in and out of .git' '\n \t\techo c >> a &&\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n-\t\tsvn commit -m \"SVN-side change in and out of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of .git\"\n \t)\n '\n \ndiff --git a/t/t9134-git-svn-ignore-paths.sh b/t/t9134-git-svn-ignore-paths.sh\nindex 71fdc4a..09ff10c 100755\n--- a/t/t9134-git-svn-ignore-paths.sh\n+++ b/t/t9134-git-svn-ignore-paths.sh\n@@ -8,19 +8,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup test repository' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tmkdir qqq www &&\n \t\techo test_qqq > qqq/test_qqq.txt &&\n \t\techo test_www > www/test_www.txt &&\n-\t\tsvn add qqq &&\n-\t\tsvn add www &&\n-\t\tsvn commit -m \"create some files\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add qqq &&\n+\t\tsvn_cmd add www &&\n+\t\tsvn_cmd commit -m \"create some files\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> www/test_www.txt &&\n-\t\tsvn commit -m \"modify www/test_www.txt\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify www/test_www.txt\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -51,9 +51,9 @@ test_expect_success 'SVN-side change outside of www' '\n \t(\n \t\tcd s &&\n \t\techo b >> qqq/test_qqq.txt &&\n-\t\tsvn commit -m \"SVN-side change outside of www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of www\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of www\"\n \t)\n '\n \n@@ -83,9 +83,9 @@ test_expect_success 'SVN-side change inside of ignored www' '\n \t(\n \t\tcd s &&\n \t\techo zaq >> www/test_www.txt\n-\t\tsvn commit -m \"SVN-side change inside of www/test_www.txt\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n+\t\tsvn_cmd commit -m \"SVN-side change inside of www/test_www.txt\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n \t)\n '\n \n@@ -116,9 +116,9 @@ test_expect_success 'SVN-side change in and out of ignored www' '\n \t\tcd s &&\n \t\techo cvf >> www/test_www.txt\n \t\techo ygg >> qqq/test_qqq.txt\n-\t\tsvn commit -m \"SVN-side change in and out of ignored www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of ignored www\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of ignored www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of ignored www\"\n \t)\n '\n \ndiff --git a/t/t9137-git-svn-dcommit-clobber-series.sh b/t/t9137-git-svn-dcommit-clobber-series.sh\nindex fd18501..636ca0a 100755\n--- a/t/t9137-git-svn-dcommit-clobber-series.sh\n+++ b/t/t9137-git-svn-dcommit-clobber-series.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \tawk \"BEGIN { for (i = 1; i < 64; i++) { print i } }\" > file\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n@@ -18,14 +18,14 @@ test_expect_success 'initialize repo' '\n test_expect_success '(supposedly) non-conflicting change from SVN' '\n \ttest x\"`sed -n -e 58p < file`\" = x58 &&\n \ttest x\"`sed -n -e 61p < file`\" = x61 &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \tcd tmp &&\n \t\tperl -i.bak -p -e \"s/^58$/5588/\" file &&\n \t\tperl -i.bak -p -e \"s/^61$/6611/\" file &&\n \t\tpoke file &&\n \t\ttest x\"`sed -n -e 58p < file`\" = x5588 &&\n \t\ttest x\"`sed -n -e 61p < file`\" = x6611 &&\n-\t\tsvn commit -m \"58 => 5588, 61 => 6611\" &&\n+\t\tsvn_cmd commit -m \"58 => 5588, 61 => 6611\" &&\n \t\tcd ..\n \t'\n \n@@ -46,7 +46,7 @@ test_expect_success 'change file but in unrelated area' \"\n \ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n \tgit commit -m '4 => 4444, 7 => 7777' file &&\n \tgit svn dcommit &&\n-\tsvn up tmp &&\n+\tsvn_cmd up tmp &&\n \tcd tmp &&\n \t\ttest x\\\"\\`sed -n -e 4p < file\\`\\\" = x4444 &&\n \t\ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n-- \n1.6.2.4\n\n"},{"id":"113324","messageId":"toS3g/caDjln1k7lKlVDYehlCbQ@psUvbB26hX94GoQd3C5ThNBxOp8","threadId":"19147","inReplyTo":"Lpio3mDQDlK3iIczVIH3OPF7/N0@psUvbB26hX94GoQd3C5ThNBxOp8","subject":"[RESEND PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eygene Ryabinkin","fromEmail":"rea-git@codelabs.ru","sentAt":"2009-05-08T08:06:16Z","receivedAt":"2009-05-08T08:06:16Z","isPatch":true,"sender":{"key":"rea-git@codelabs.ru","avatar":null},"body":"I have tweaked configuration in my ~/.subversion directory, namely I am\nrunning auto-properties and automatically adding '$Id$' expansion to\nevery file.  This choke the last test named 'proplist' from\nt9101-git-svn-props.sh, because one more property, svn:keywords is\nautomatically added.\n\nI had just wrapped svn invocation with the svn_cmd that specifies empty\ndirectory via --config-dir argument.  Since the latter is the global\noption, it should be recognized by all svn subcommands, so no\nregressions will be introduced.\n\nNow svn_cmd is used everywhere, not just in the failed test module: this\nshould guard us from the future clashes with user-defined configuration\ntweaks.\n\nSigned-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>\n---\n t/lib-git-svn.sh                              |   15 ++++++++\n t/t9100-git-svn-basic.sh                      |   14 ++++----\n t/t9101-git-svn-props.sh                      |   38 +++++++++++-----------\n t/t9102-git-svn-deep-rmdir.sh                 |    4 +-\n t/t9103-git-svn-tracked-directory-removed.sh  |    8 ++--\n t/t9104-git-svn-follow-parent.sh              |   40 +++++++++++-----------\n t/t9105-git-svn-commit-diff.sh                |    8 ++--\n t/t9106-git-svn-commit-diff-clobber.sh        |   14 ++++----\n t/t9107-git-svn-migrate.sh                    |    2 +-\n t/t9108-git-svn-glob.sh                       |   26 +++++++-------\n t/t9109-git-svn-multi-glob.sh                 |   44 ++++++++++++------------\n t/t9113-git-svn-dcommit-new-file.sh           |    2 +-\n t/t9114-git-svn-dcommit-merge.sh              |    6 ++--\n t/t9116-git-svn-log.sh                        |    2 +-\n t/t9117-git-svn-init-clone.sh                 |    2 +-\n t/t9118-git-svn-funky-branch-names.sh         |    8 ++--\n t/t9119-git-svn-info.sh                       |   30 ++++++++--------\n t/t9120-git-svn-clone-with-percent-escapes.sh |    2 +-\n t/t9122-git-svn-author.sh                     |   12 +++---\n t/t9123-git-svn-rebuild-with-rewriteroot.sh   |    2 +-\n t/t9124-git-svn-dcommit-auto-props.sh         |   30 ++++++++--------\n t/t9125-git-svn-multi-glob-branch-names.sh    |    6 ++--\n t/t9127-git-svn-partial-rebuild.sh            |   14 ++++----\n t/t9128-git-svn-cmd-branch.sh                 |   18 +++++-----\n t/t9129-git-svn-i18n-commitencoding.sh        |    2 +-\n t/t9130-git-svn-authors-file.sh               |    6 ++--\n t/t9133-git-svn-nested-git-repo.sh            |   32 +++++++++---------\n t/t9134-git-svn-ignore-paths.sh               |   32 +++++++++---------\n t/t9137-git-svn-dcommit-clobber-series.sh     |    8 ++--\n 29 files changed, 221 insertions(+), 206 deletions(-)\n\ndiff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh\nindex 773d47c..5654962 100644\n--- a/t/lib-git-svn.sh\n+++ b/t/lib-git-svn.sh\n@@ -26,6 +26,8 @@ fi\n \n svnrepo=$PWD/svnrepo\n export svnrepo\n+svnconf=$PWD/svnconf\n+export svnconf\n \n perl -w -e \"\n use SVN::Core;\n@@ -54,6 +56,19 @@ poke() {\n \ttest-chmtime +1 \"$1\"\n }\n \n+# We need this, because we should pass empty configuration directory to\n+# the 'svn commit' to avoid automated property changes and other stuff\n+# that could be set from user's configuration files in ~/.subversion.\n+svn_cmd () {\n+\t[ -d \"$svnconf\" ] || mkdir \"$svnconf\"\n+\torig_svncmd=\"$1\"; shift\n+\tif [ -z \"$orig_svncmd\" ]; then\n+\t\tsvn\n+\t\treturn\n+\tfi\n+\tsvn \"$orig_svncmd\" --config-dir \"$svnconf\" \"$@\"\n+}\n+\n for d in \\\n \t\"$SVN_HTTPD_PATH\" \\\n \t/usr/sbin/apache2 \\\ndiff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh\nindex 4eee2e9..64aa7e2 100755\n--- a/t/t9100-git-svn-basic.sh\n+++ b/t/t9100-git-svn-basic.sh\n@@ -31,7 +31,7 @@ test_expect_success \\\n \techo \"zzz\" > bar/zzz &&\n \techo \"#!/bin/sh\" > exec.sh &&\n \tchmod +x exec.sh &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" >/dev/null &&\n \tcd .. &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"'\n@@ -51,7 +51,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -d \"$SVN_TREE\"/dir && test ! -d \"$SVN_TREE\"/dir/a'\n \n \n@@ -118,7 +118,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest ! -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -129,7 +129,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/exec.sh'\n \n \n@@ -141,7 +141,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -L \"$SVN_TREE\"/exec.sh'\n \n name='new symlink is added to a file that was also just made executable'\n@@ -153,7 +153,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -x \"$SVN_TREE\"/bar/zzz &&\n \ttest -L \"$SVN_TREE\"/exec-2.sh'\n \n@@ -166,7 +166,7 @@ test_expect_success \"$name\" '\n \tgit commit -m \"$name\" &&\n \tgit svn set-tree --find-copies-harder --rmdir \\\n \t\t${remotes_git_svn}..mybranch5 &&\n-\tsvn up \"$SVN_TREE\" &&\n+\tsvn_cmd up \"$SVN_TREE\" &&\n \ttest -f \"$SVN_TREE\"/exec-2.sh &&\n \ttest ! -L \"$SVN_TREE\"/exec-2.sh &&\n \ttest_cmp help \"$SVN_TREE\"/exec-2.sh'\ndiff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh\nindex 1e31d6e..9da4178 100755\n--- a/t/t9101-git-svn-props.sh\n+++ b/t/t9101-git-svn-props.sh\n@@ -48,7 +48,7 @@ EOF\n \tprintf \"\\r\\n\" > empty_crlf\n \ta_empty_crlf=`git hash-object -w empty_crlf`\n \n-\tsvn import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import --no-auto-props -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n \n rm -rf import\n@@ -57,13 +57,13 @@ test_expect_success 'setup some commits to svn' \\\n \t'cd test_wc &&\n \t\techo Greetings >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Not yet an Id\" &&\n+\t\tsvn_cmd commit -m \"Not yet an Id\" &&\n \t\techo Hello world >> kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Modified file, but still not yet an Id\" &&\n-\t\tsvn propset svn:keywords Id kw.c &&\n+\t\tsvn_cmd commit -m \"Modified file, but still not yet an Id\" &&\n+\t\tsvn_cmd propset svn:keywords Id kw.c &&\n \t\tpoke kw.c &&\n-\t\tsvn commit -m \"Propset Id\" &&\n+\t\tsvn_cmd commit -m \"Propset Id\" &&\n \tcd ..'\n \n test_expect_success 'initialize git svn' 'git svn init \"$svnrepo\"'\n@@ -83,16 +83,16 @@ test_expect_success 'raw $Id$ found in kw.c' \"test '$expect' = '$got'\"\n \n test_expect_success \"propset CR on crlf files\" \\\n \t'cd test_wc &&\n-\t\tsvn propset svn:eol-style CR empty &&\n-\t\tsvn propset svn:eol-style CR crlf &&\n-\t\tsvn propset svn:eol-style CR ne_crlf &&\n-\t\tsvn commit -m \"propset CR on crlf files\" &&\n+\t\tsvn_cmd propset svn:eol-style CR empty &&\n+\t\tsvn_cmd propset svn:eol-style CR crlf &&\n+\t\tsvn_cmd propset svn:eol-style CR ne_crlf &&\n+\t\tsvn_cmd commit -m \"propset CR on crlf files\" &&\n \t cd ..'\n \n test_expect_success 'fetch and pull latest from svn and checkout a new wc' \\\n \t'git svn fetch &&\n \t git pull . ${remotes_git_svn} &&\n-\t svn co \"$svnrepo\" new_wc'\n+\t svn_cmd co \"$svnrepo\" new_wc'\n \n for i in crlf ne_crlf lf ne_lf cr ne_cr empty_cr empty_lf empty empty_crlf\n do\n@@ -106,11 +106,11 @@ cd test_wc\n \ta_cr=`printf '$Id$\\r\\nHello\\r\\nWorld\\r\\n' | git hash-object --stdin`\n \ta_ne_cr=`printf '$Id$\\r\\nHello\\r\\nWorld' | git hash-object --stdin`\n \ttest_expect_success 'Set CRLF on cr files' \\\n-\t'svn propset svn:eol-style CRLF cr &&\n-\t svn propset svn:eol-style CRLF ne_cr &&\n-\t svn propset svn:keywords Id cr &&\n-\t svn propset svn:keywords Id ne_cr &&\n-\t svn commit -m \"propset CRLF on cr files\"'\n+\t'svn_cmd propset svn:eol-style CRLF cr &&\n+\t svn_cmd propset svn:eol-style CRLF ne_cr &&\n+\t svn_cmd propset svn:keywords Id cr &&\n+\t svn_cmd propset svn:keywords Id ne_cr &&\n+\t svn_cmd commit -m \"propset CRLF on cr files\"'\n cd ..\n test_expect_success 'fetch and pull latest from svn' \\\n \t'git svn fetch && git pull . ${remotes_git_svn}'\n@@ -140,10 +140,10 @@ test_expect_success 'test show-ignore' \"\n \tcd test_wc &&\n \tmkdir -p deeply/nested/directory &&\n \ttouch deeply/nested/directory/.keep &&\n-\tsvn add deeply &&\n-\tsvn up &&\n-\tsvn propset -R svn:ignore 'no-such-file*' .\n-\tsvn commit -m 'propset svn:ignore'\n+\tsvn_cmd add deeply &&\n+\tsvn_cmd up &&\n+\tsvn_cmd propset -R svn:ignore 'no-such-file*' .\n+\tsvn_cmd commit -m 'propset svn:ignore'\n \tcd .. &&\n \tgit svn show-ignore > show-ignore.got &&\n \tcmp show-ignore.expect show-ignore.got\ndiff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh\nindex e223218..028fb19 100755\n--- a/t/t9102-git-svn-deep-rmdir.sh\n+++ b/t/t9102-git-svn-deep-rmdir.sh\n@@ -9,7 +9,7 @@ test_expect_success 'initialize repo' '\n \tmkdir -p deeply/nested/directory/number/2 &&\n \techo foo > deeply/nested/directory/number/1/file &&\n \techo foo > deeply/nested/directory/number/2/another &&\n-\tsvn import -m \"import for git svn\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\" &&\n \tcd ..\n \t'\n \n@@ -23,7 +23,7 @@ test_expect_success 'Try a commit on rmdir' '\n \tgit rm -f deeply/nested/directory/number/2/another &&\n \tgit commit -a -m \"remove another\" &&\n \tgit svn set-tree --rmdir HEAD &&\n-\tsvn ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n+\tsvn_cmd ls -R \"$svnrepo\" | grep ^deeply/nested/directory/number/1\n \t'\n \n \ndiff --git a/t/t9103-git-svn-tracked-directory-removed.sh b/t/t9103-git-svn-tracked-directory-removed.sh\nindex 963dd95..3413164 100755\n--- a/t/t9103-git-svn-tracked-directory-removed.sh\n+++ b/t/t9103-git-svn-tracked-directory-removed.sh\n@@ -10,15 +10,15 @@ test_expect_success 'make history for tracking' '\n \tmkdir import &&\n \tmkdir import/trunk &&\n \techo hello >> import/trunk/README &&\n-\tsvn import -m initial import \"$svnrepo\" &&\n+\tsvn_cmd import -m initial import \"$svnrepo\" &&\n \trm -rf import &&\n-\tsvn co \"$svnrepo\"/trunk trunk &&\n+\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \techo bye bye >> trunk/README &&\n-\tsvn rm -m \"gone\" \"$svnrepo\"/trunk &&\n+\tsvn_cmd rm -m \"gone\" \"$svnrepo\"/trunk &&\n \trm -rf trunk &&\n \tmkdir trunk &&\n \techo \"new\" > trunk/FOLLOWME &&\n-\tsvn import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n+\tsvn_cmd import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n '\n \n test_expect_success 'clone repo with git' '\ndiff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh\nindex ab9fa32..78610b6 100755\n--- a/t/t9104-git-svn-follow-parent.sh\n+++ b/t/t9104-git-svn-follow-parent.sh\n@@ -11,18 +11,18 @@ test_expect_success 'initialize repo' '\n \tcd import &&\n \tmkdir -p trunk &&\n \techo hello > trunk/readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcd wc &&\n \techo world >> trunk/readme &&\n \tpoke trunk/readme &&\n-\tsvn commit -m \"another commit\" &&\n-\tsvn up &&\n-\tsvn mv trunk thunk &&\n+\tsvn_cmd commit -m \"another commit\" &&\n+\tsvn_cmd up &&\n+\tsvn_cmd mv trunk thunk &&\n \techo goodbye >> thunk/readme &&\n \tpoke thunk/readme &&\n-\tsvn commit -m \"bye now\" &&\n+\tsvn_cmd commit -m \"bye now\" &&\n \tcd ..\n \t'\n \n@@ -51,7 +51,7 @@ test_expect_success 'init and fetch from one svn-remote' '\n         '\n \n test_expect_success 'follow deleted parent' '\n-        (svn cp -m \"resurrecting trunk as junk\" \\\n+        (svn_cmd cp -m \"resurrecting trunk as junk\" \\\n                \"$svnrepo\"/trunk@2 \"$svnrepo\"/junk ||\n          svn cp -m \"resurrecting trunk as junk\" \\\n                -r2 \"$svnrepo\"/trunk \"$svnrepo\"/junk) &&\n@@ -97,8 +97,8 @@ test_expect_success 'follow higher-level parent' '\n         '\n \n test_expect_success 'follow deleted directory' '\n-\tsvn mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n-\tsvn rm -m \"remove glob\" \"$svnrepo\"/glob &&\n+\tsvn_cmd mv -m \"bye!\" \"$svnrepo\"/glob/blob/hi \"$svnrepo\"/glob/blob/bye &&\n+\tsvn_cmd rm -m \"remove glob\" \"$svnrepo\"/glob &&\n \tgit svn init --minimize-url -i glob \"$svnrepo\"/glob &&\n \tgit svn fetch -i glob &&\n \ttest \"`git cat-file blob refs/remotes/glob:blob/bye`\" = hi &&\n@@ -120,7 +120,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \tcd import &&\n \t  svn import -m \"r9270 test\" . \"$svnrepo\"/r9270 &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n+\tsvn_cmd co \"$svnrepo\"/r9270/trunk/subversion/bindings/swig/perl r9270 &&\n \tcd r9270 &&\n \t  svn mkdir native &&\n \t  svn mv t native/t &&\n@@ -138,7 +138,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' '\n \t'\n \n test_expect_success \"track initial change if it was only made to parent\" '\n-\tsvn cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n+\tsvn_cmd cp -m \"wheee!\" \"$svnrepo\"/r9270/trunk \"$svnrepo\"/r9270/drunk &&\n \tgit svn init --minimize-url -i r9270-d \\\n \t  \"$svnrepo\"/r9270/drunk/subversion/bindings/swig/perl/native/t &&\n \tgit svn fetch -i r9270-d &&\n@@ -152,20 +152,20 @@ test_expect_success \"track initial change if it was only made to parent\" '\n test_expect_success \"follow-parent is atomic\" '\n \t(\n \t\tcd wc &&\n-\t\tsvn up &&\n-\t\tsvn mkdir stunk &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd mkdir stunk &&\n \t\techo \"trunk stunk\" > stunk/readme &&\n-\t\tsvn add stunk/readme &&\n-\t\tsvn ci -m \"trunk stunk\" &&\n+\t\tsvn_cmd add stunk/readme &&\n+\t\tsvn_cmd ci -m \"trunk stunk\" &&\n \t\techo \"stunk like junk\" >> stunk/readme &&\n-\t\tsvn ci -m \"really stunk\" &&\n+\t\tsvn_cmd ci -m \"really stunk\" &&\n \t\techo \"stink stank stunk\" >> stunk/readme &&\n-\t\tsvn ci -m \"even the grinch agrees\"\n+\t\tsvn_cmd ci -m \"even the grinch agrees\"\n \t) &&\n-\tsvn copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n+\tsvn_cmd copy -m \"stunk flunked\" \"$svnrepo\"/stunk \"$svnrepo\"/flunk &&\n \t{ svn cp -m \"early stunk flunked too\" \\\n \t\t\"$svnrepo\"/stunk@17 \"$svnrepo\"/flunked ||\n-\tsvn cp -m \"early stunk flunked too\" \\\n+\tsvn_cmd cp -m \"early stunk flunked too\" \\\n \t\t-r17 \"$svnrepo\"/stunk \"$svnrepo\"/flunked; } &&\n \tgit svn init --minimize-url -i stunk \"$svnrepo\"/stunk &&\n \tgit svn fetch -i stunk &&\n@@ -192,7 +192,7 @@ test_expect_success \"follow-parent is atomic\" '\n \t'\n \n test_expect_success \"track multi-parent paths\" '\n-\tsvn cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n+\tsvn_cmd cp -m \"resurrect /glob\" \"$svnrepo\"/r9270 \"$svnrepo\"/glob &&\n \tgit svn multi-fetch &&\n \ttest `git cat-file commit refs/remotes/glob | \\\n \t       grep \"^parent \" | wc -l` -eq 2\ndiff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh\nindex ba99abb..dd48e9c 100755\n--- a/t/t9105-git-svn-commit-diff.sh\n+++ b/t/t9105-git-svn-commit-diff.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo hello > readme &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo hello > readme &&\n \tgit update-index --add readme &&\n@@ -27,16 +27,16 @@ prev=`git rev-parse --verify HEAD^1`\n test_expect_success 'test the commit-diff command' '\n \ttest -n \"$prev\" && test -n \"$head\" &&\n \tgit svn commit-diff -r1 \"$prev\" \"$head\" \"$svnrepo\" &&\n-\tsvn co \"$svnrepo\" wc &&\n+\tsvn_cmd co \"$svnrepo\" wc &&\n \tcmp readme wc/readme\n \t'\n \n test_expect_success 'commit-diff to a sub-directory (with git svn config)' '\n-\tsvn import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n+\tsvn_cmd import -m \"sub-directory\" import \"$svnrepo\"/subdir &&\n \tgit svn init --minimize-url \"$svnrepo\"/subdir &&\n \tgit svn fetch &&\n \tgit svn commit-diff -r3 \"$prev\" \"$head\" &&\n-\tsvn cat \"$svnrepo\"/subdir/readme > readme.2 &&\n+\tsvn_cmd cat \"$svnrepo\"/subdir/readme > readme.2 &&\n \tcmp readme readme.2\n \t'\n \ndiff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh\nindex 6eb0fd8..12f21b7 100755\n--- a/t/t9106-git-svn-commit-diff-clobber.sh\n+++ b/t/t9106-git-svn-commit-diff-clobber.sh\n@@ -8,18 +8,18 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \techo initial > file &&\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \techo initial > file &&\n \tgit update-index --add file &&\n \tgit commit -a -m \"initial\"\n \t'\n test_expect_success 'commit change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo second line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"second line from svn\" &&\n+\tsvn_cmd commit -m \"second line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\n@@ -43,11 +43,11 @@ test_expect_success 'dcommit fails to commit because of conflict' '\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n \tgit reset --hard refs/${remotes_git_svn} &&\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \techo fourth line from svn >> file &&\n \tpoke file &&\n-\tsvn commit -m \"fourth line from svn\" &&\n+\tsvn_cmd commit -m \"fourth line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn &&\n \techo \"fourth line from git\" >> file &&\n@@ -67,11 +67,11 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' \"\n \t\"\n \n test_expect_success 'commit another change from svn side' '\n-\tsvn co \"$svnrepo\" t.svn &&\n+\tsvn_cmd co \"$svnrepo\" t.svn &&\n \tcd t.svn &&\n \t\techo third line from svn >> file &&\n \t\tpoke file &&\n-\t\tsvn commit -m \"third line from svn\" &&\n+\t\tsvn_cmd commit -m \"third line from svn\" &&\n \tcd .. &&\n \trm -rf t.svn\n \t'\ndiff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh\nindex acad16a..3a9e077 100755\n--- a/t/t9107-git-svn-migrate.sh\n+++ b/t/t9107-git-svn-migrate.sh\n@@ -12,7 +12,7 @@ test_expect_success 'setup old-looking metadata' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\ndiff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh\nindex d8582b1..d732d31 100755\n--- a/t/t9108-git-svn-glob.sh\n+++ b/t/t9108-git-svn-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/start/src/b/readme &&\n \t\tpoke branches/start/src/b/readme &&\n \t\techo \"hey\" >> branches/start/src/a/readme &&\n \t\tpoke branches/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -102,7 +102,7 @@ test_expect_success 'test disallow multi-globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh\nindex 8f79c3f..c318f9f 100755\n--- a/t/t9109-git-svn-multi-glob.sh\n+++ b/t/t9109-git-svn-multi-glob.sh\n@@ -14,30 +14,30 @@ test_expect_success 'test refspec globbing' '\n \tmkdir -p trunk/src/a trunk/src/b trunk/doc &&\n \techo \"hello world\" > trunk/src/a/readme &&\n \techo \"goodbye world\" > trunk/src/b/readme &&\n-\tsvn import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd import -m \"initial\" trunk \"$svnrepo\"/trunk &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches branches/v1 tags &&\n-\t\tsvn add branches tags &&\n-\t\tsvn cp trunk branches/v1/start &&\n-\t\tsvn commit -m \"start a new branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches tags &&\n+\t\tsvn_cmd cp trunk branches/v1/start &&\n+\t\tsvn_cmd commit -m \"start a new branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hi\" >> branches/v1/start/src/b/readme &&\n \t\tpoke branches/v1/start/src/b/readme &&\n \t\techo \"hey\" >> branches/v1/start/src/a/readme &&\n \t\tpoke branches/v1/start/src/a/readme &&\n-\t\tsvn commit -m \"hi\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v1/start tags/end &&\n+\t\tsvn_cmd commit -m \"hi\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v1/start tags/end &&\n \t\techo \"bye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n \t\techo \"aye\" >> tags/end/src/a/readme &&\n \t\tpoke tags/end/src/a/readme &&\n-\t\tsvn commit -m \"the end\" &&\n+\t\tsvn_cmd commit -m \"the end\" &&\n \t\techo \"byebye\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"nothing to see here\"\n+\t\tsvn_cmd commit -m \"nothing to see here\"\n \t) &&\n \tgit config --add svn-remote.svn.url \"$svnrepo\" &&\n \tgit config --add svn-remote.svn.fetch \\\n@@ -72,7 +72,7 @@ test_expect_success 'test left-hand-side only globbing' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \tgit svn fetch two &&\n \ttest `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&\n@@ -97,25 +97,25 @@ test_expect_success 'test another branch' '\n \t(\n \t\tcd tmp &&\n \t\tmkdir branches/v2 &&\n-\t\tsvn add branches/v2 &&\n-\t\tsvn cp trunk branches/v2/start &&\n-\t\tsvn commit -m \"Another versioned branch\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add branches/v2 &&\n+\t\tsvn_cmd cp trunk branches/v2/start &&\n+\t\tsvn_cmd commit -m \"Another versioned branch\" &&\n+\t\tsvn_cmd up &&\n \t\techo \"hello\" >> branches/v2/start/src/b/readme &&\n \t\tpoke branches/v2/start/src/b/readme &&\n \t\techo \"howdy\" >> branches/v2/start/src/a/readme &&\n \t\tpoke branches/v2/start/src/a/readme &&\n-\t\tsvn commit -m \"Changed 2 in v2/start\" &&\n-\t\tsvn up &&\n-\t\tsvn cp branches/v2/start tags/next &&\n+\t\tsvn_cmd commit -m \"Changed 2 in v2/start\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd cp branches/v2/start tags/next &&\n \t\techo \"bye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n \t\techo \"aye\" >> tags/next/src/a/readme &&\n \t\tpoke tags/next/src/a/readme &&\n-\t\tsvn commit -m \"adding more\" &&\n+\t\tsvn_cmd commit -m \"adding more\" &&\n \t\techo \"byebye\" >> tags/next/src/b/readme &&\n \t\tpoke tags/next/src/b/readme &&\n-\t\tsvn commit -m \"adios\"\n+\t\tsvn_cmd commit -m \"adios\"\n \t) &&\n \tgit config --add svn-remote.four.url \"$svnrepo\" &&\n \tgit config --add svn-remote.four.fetch trunk:refs/remotes/four/trunk &&\n@@ -151,7 +151,7 @@ test_expect_success 'test disallow multiple globs' '\n \t\tcd tmp &&\n \t\techo \"try try\" >> tags/end/src/b/readme &&\n \t\tpoke tags/end/src/b/readme &&\n-\t\tsvn commit -m \"try to try\"\n+\t\tsvn_cmd commit -m \"try to try\"\n \t) &&\n \ttest_must_fail git svn fetch three 2> stderr.three &&\n \ttest_cmp expect.three stderr.three\ndiff --git a/t/t9113-git-svn-dcommit-new-file.sh b/t/t9113-git-svn-dcommit-new-file.sh\nindex e9b6128..e8479ce 100755\n--- a/t/t9113-git-svn-dcommit-new-file.sh\n+++ b/t/t9113-git-svn-dcommit-new-file.sh\n@@ -15,7 +15,7 @@ test_description='git svn dcommit new files over svn:// test'\n require_svnserve\n \n test_expect_success 'start tracking an empty repo' '\n-\tsvn mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n+\tsvn_cmd mkdir -m \"empty dir\" \"$svnrepo\"/empty-dir &&\n \techo \"[general]\" > \"$rawsvnrepo\"/conf/svnserve.conf &&\n \techo anon-access = write >> \"$rawsvnrepo\"/conf/svnserve.conf &&\n \tstart_svnserve &&\ndiff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh\nindex 17b2855..84f7c9b 100755\n--- a/t/t9114-git-svn-dcommit-merge.sh\n+++ b/t/t9114-git-svn-dcommit-merge.sh\n@@ -35,12 +35,12 @@ EOF\n }\n \n test_expect_success 'setup svn repository' '\n-\tsvn co \"$svnrepo\" mysvnwork &&\n+\tsvn_cmd co \"$svnrepo\" mysvnwork &&\n \tmkdir -p mysvnwork/trunk &&\n \tcd mysvnwork &&\n \t\tbig_text_block >> trunk/README &&\n-\t\tsvn add trunk &&\n-\t\tsvn ci -m \"first commit\" trunk &&\n+\t\tsvn_cmd add trunk &&\n+\t\tsvn_cmd ci -m \"first commit\" trunk &&\n \t\tcd ..\n \t'\n \ndiff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh\nindex fd6d1d2..0374a74 100755\n--- a/t/t9116-git-svn-log.sh\n+++ b/t/t9116-git-svn-log.sh\n@@ -14,7 +14,7 @@ test_expect_success 'setup repository and import' '\n \t\t\tmkdir -p $i && \\\n \t\t\techo hello >> $i/README || exit 1\n \t\tdone && \\\n-\t\tsvn import -m test . \"$svnrepo\"\n+\t\tsvn_cmd import -m test . \"$svnrepo\"\n \t\tcd .. &&\n \tgit svn init \"$svnrepo\" -T trunk -b branches -t tags &&\n \tgit svn fetch &&\ndiff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh\nindex dde46cd..b7ef9e2 100755\n--- a/t/t9117-git-svn-init-clone.sh\n+++ b/t/t9117-git-svn-init-clone.sh\n@@ -16,7 +16,7 @@ cd tmp\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo\"/project &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo\"/project &&\n \trm -rf project\n \t'\n \ndiff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh\nindex 7a7c128..ac52bff 100755\n--- a/t/t9118-git-svn-funky-branch-names.sh\n+++ b/t/t9118-git-svn-funky-branch-names.sh\n@@ -13,13 +13,13 @@ scary_ref='Abo-Uebernahme%20(Bug%20#994)'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/pr ject/trunk\" \\\n \t                \"$svnrepo/pr ject/branches/fun plugin\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t                      \"$svnrepo/pr ject/branches/more fun plugin!\" &&\n-\tsvn cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n+\tsvn_cmd cp -m \"scary\" \"$svnrepo/pr ject/branches/fun plugin\" \\\n \t              \"$svnrepo/pr ject/branches/$scary_uri\" &&\n \tstart_httpd\n \t'\ndiff --git a/t/t9119-git-svn-info.sh b/t/t9119-git-svn-info.sh\nindex 27dd7c2..95741cb 100755\n--- a/t/t9119-git-svn-info.sh\n+++ b/t/t9119-git-svn-info.sh\n@@ -7,7 +7,7 @@ test_description='git svn info'\n . ./lib-git-svn.sh\n \n # Tested with: svn, version 1.4.4 (r25188)\n-v=`svn --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n+v=`svn_cmd --version | sed -n -e 's/^svn, version \\(1\\.[0-9]*\\.[0-9]*\\).*$/\\1/p'`\n case $v in\n 1.[45].*)\n \t;;\n@@ -31,7 +31,7 @@ ptouch() {\n \t\t\tmy $atime = $mtime;\n \t\t\tutime $atime, $mtime, $git_file;\n \t\t}\n-\t' \"`svn info $2 | grep '^Text Last Updated:'`\" \"$1\"\n+\t' \"`svn_cmd info $2 | grep '^Text Last Updated:'`\" \"$1\"\n }\n \n quoted_svnrepo=\"$(echo $svnrepo | sed 's/ /%20/')\"\n@@ -45,14 +45,14 @@ test_expect_success 'setup repository and import' '\n \t\tmkdir directory &&\n \t\ttouch directory/.placeholder &&\n \t\tln -s directory symlink-directory &&\n-\t\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\t\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n-\tsvn co \"$svnrepo\" svnwc &&\n+\tsvn_cmd co \"$svnrepo\" svnwc &&\n \tcd svnwc &&\n \t\techo foo > foo &&\n-\t\tsvn add foo &&\n-\t\tsvn commit -m \"change outside directory\" &&\n-\t\tsvn update &&\n+\t\tsvn_cmd add foo &&\n+\t\tsvn_cmd commit -m \"change outside directory\" &&\n+\t\tsvn_cmd update &&\n \tcd .. &&\n \tmkdir gitwc &&\n \tcd gitwc &&\n@@ -143,7 +143,7 @@ test_expect_success 'info added-file' \"\n \tcp gitwc/added-file svnwc/added-file &&\n \tptouch gitwc/added-file svnwc/added-file &&\n \tcd svnwc &&\n-\t\tsvn add added-file > /dev/null &&\n+\t\tsvn_cmd add added-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info added-file) > expected.info-added-file &&\n \t(cd gitwc; git svn info added-file) > actual.info-added-file &&\n@@ -160,7 +160,7 @@ test_expect_success 'info added-directory' \"\n \tptouch gitwc/added-directory svnwc/added-directory &&\n \ttouch gitwc/added-directory/.placeholder &&\n \tcd svnwc &&\n-\t\tsvn add added-directory > /dev/null &&\n+\t\tsvn_cmd add added-directory > /dev/null &&\n \tcd .. &&\n \tcd gitwc &&\n \t\tgit add added-directory &&\n@@ -184,7 +184,7 @@ test_expect_success 'info added-symlink-file' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-file added-symlink-file &&\n-\t\tsvn add added-symlink-file > /dev/null &&\n+\t\tsvn_cmd add added-symlink-file > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-file svnwc/added-symlink-file &&\n \t(cd svnwc; svn info added-symlink-file) \\\n@@ -207,7 +207,7 @@ test_expect_success 'info added-symlink-directory' \"\n \tcd .. &&\n \tcd svnwc &&\n \t\tln -s added-directory added-symlink-directory &&\n-\t\tsvn add added-symlink-directory > /dev/null &&\n+\t\tsvn_cmd add added-symlink-directory > /dev/null &&\n \tcd .. &&\n \tptouch gitwc/added-symlink-directory svnwc/added-symlink-directory &&\n \t(cd svnwc; svn info added-symlink-directory) \\\n@@ -233,7 +233,7 @@ test_expect_success 'info deleted-file' \"\n \t\tgit rm -f file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force file > /dev/null &&\n+\t\tsvn_cmd rm --force file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -254,7 +254,7 @@ test_expect_success 'info deleted-directory' \"\n \t\tgit rm -r -f directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force directory > /dev/null &&\n+\t\tsvn_cmd rm --force directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -275,7 +275,7 @@ test_expect_success 'info deleted-symlink-file' \"\n \t\tgit rm -f symlink-file > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-file > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-file > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-file) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\n@@ -297,7 +297,7 @@ test_expect_success 'info deleted-symlink-directory' \"\n \t\tgit rm -f symlink-directory > /dev/null &&\n \tcd .. &&\n \tcd svnwc &&\n-\t\tsvn rm --force symlink-directory > /dev/null &&\n+\t\tsvn_cmd rm --force symlink-directory > /dev/null &&\n \tcd .. &&\n \t(cd svnwc; svn info symlink-directory) |\n \tsed -e 's/^\\(Text Last Updated:\\).*/\\1 TEXT-LAST-UPDATED-STRING/' \\\ndiff --git a/t/t9120-git-svn-clone-with-percent-escapes.sh b/t/t9120-git-svn-clone-with-percent-escapes.sh\nindex ef2c052..555a018 100755\n--- a/t/t9120-git-svn-clone-with-percent-escapes.sh\n+++ b/t/t9120-git-svn-clone-with-percent-escapes.sh\n@@ -9,7 +9,7 @@ test_description='git svn clone with percent escapes'\n test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/pr ject\" &&\n \trm -rf project &&\n \tstart_httpd\n '\ndiff --git a/t/t9122-git-svn-author.sh b/t/t9122-git-svn-author.sh\nindex 1b1cf47..30013b7 100755\n--- a/t/t9122-git-svn-author.sh\n+++ b/t/t9122-git-svn-author.sh\n@@ -4,12 +4,12 @@ test_description='git svn authorship'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup svn repository' '\n-\tsvn checkout \"$svnrepo\" work.svn &&\n+\tsvn_cmd checkout \"$svnrepo\" work.svn &&\n \t(\n \t\tcd work.svn &&\n \t\techo >file\n-\t\tsvn add file\n-\t\tsvn commit -m \"first commit\" file\n+\t\tsvn_cmd add file\n+\t\tsvn_cmd commit -m \"first commit\" file\n \t)\n '\n \n@@ -74,10 +74,10 @@ test_expect_success 'interact with it via git svn' '\n \t# Make sure there are no svn commit messages with excess blank lines\n \t(\n \t\tcd work.svn &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\t\n-\t\ttest $(svn log -r2:2 | wc -l) = 5 &&\n-\t\ttest $(svn log -r4:4 | wc -l) = 7\n+\t\ttest $(svn_cmd log -r2:2 | wc -l) = 5 &&\n+\t\ttest $(svn_cmd log -r4:4 | wc -l) = 7\n \t)\n '\n \ndiff --git a/t/t9123-git-svn-rebuild-with-rewriteroot.sh b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\nindex cf04152..0455216 100755\n--- a/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n+++ b/t/t9123-git-svn-rebuild-with-rewriteroot.sh\n@@ -10,7 +10,7 @@ test_description='git svn respects rewriteRoot during rebuild'\n mkdir import\n cd import\n \ttouch foo\n-\tsvn import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n+\tsvn_cmd import -m 'import for git svn' . \"$svnrepo\" >/dev/null\n cd ..\n rm -rf import\n \ndiff --git a/t/t9124-git-svn-dcommit-auto-props.sh b/t/t9124-git-svn-dcommit-auto-props.sh\nindex 263dbf5..d6b076f 100755\n--- a/t/t9124-git-svn-dcommit-auto-props.sh\n+++ b/t/t9124-git-svn-dcommit-auto-props.sh\n@@ -21,7 +21,7 @@ test_expect_success 'initialize git svn' '\n \t(\n \t\tcd import &&\n \t\techo foo >foo &&\n-\t\tsvn import -m \"import for git svn\" . \"$svnrepo\"\n+\t\tsvn_cmd import -m \"import for git svn\" . \"$svnrepo\"\n \t) &&\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"\n@@ -61,23 +61,23 @@ test_expect_success 'check resulting svn repository' '\n (\n \tmkdir work &&\n \tcd work &&\n-\tsvn co \"$svnrepo\" &&\n+\tsvn_cmd co \"$svnrepo\" &&\n \tcd svnrepo &&\n \n \t# Check properties from first commit.\n-\ttest \"x$(svn propget svn:executable exec1.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec1.sh)\" = \\\n+\ttest \"x$(svn_cmd propget svn:executable exec1.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec1.sh)\" = \\\n \t     \"xapplication/x-shellscript\" &&\n-\ttest \"x$(svn propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n-\ttest \"x$(svn propget svn:eol-style hello.txt)\" = \"xnative\" &&\n-\ttest \"x$(svn propget svn:mime-type bar)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type hello.txt)\" = \"xtext/plain\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style hello.txt)\" = \"xnative\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type bar)\" = \"x\" &&\n \n \t# Check properties from second commit.\n-\ttest \"x$(svn propget svn:executable exec2.sh)\" = \"x*\" &&\n-\ttest \"x$(svn propget svn:mime-type exec2.sh)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:eol-style world.txt)\" = \"x\" &&\n-\ttest \"x$(svn propget svn:mime-type zot)\" = \"x\"\n+\ttest \"x$(svn_cmd propget svn:executable exec2.sh)\" = \"x*\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type exec2.sh)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:eol-style world.txt)\" = \"x\" &&\n+\ttest \"x$(svn_cmd propget svn:mime-type zot)\" = \"x\"\n )\n '\n \n@@ -89,12 +89,12 @@ test_expect_success 'check renamed file' '\n \tgit svn dcommit --config-dir=user &&\n \t(\n \t\tcd work/svnrepo &&\n-\t\tsvn up &&\n+\t\tsvn_cmd up &&\n \t\ttest ! -e foo &&\n \t\ttest -e foo.sh &&\n-\t\ttest \"x$(svn propget svn:mime-type foo.sh)\" = \\\n+\t\ttest \"x$(svn_cmd propget svn:mime-type foo.sh)\" = \\\n \t\t     \"xapplication/x-shellscript\" &&\n-\t\ttest \"x$(svn propget svn:eol-style foo.sh)\" = \"xLF\"\n+\t\ttest \"x$(svn_cmd propget svn:eol-style foo.sh)\" = \"xLF\"\n \t)\n '\n \ndiff --git a/t/t9125-git-svn-multi-glob-branch-names.sh b/t/t9125-git-svn-multi-glob-branch-names.sh\nindex 475c751..c194186 100755\n--- a/t/t9125-git-svn-multi-glob-branch-names.sh\n+++ b/t/t9125-git-svn-multi-glob-branch-names.sh\n@@ -8,11 +8,11 @@ test_expect_success 'setup svnrepo' '\n \tmkdir project project/trunk project/branches \\\n \t\t\tproject/branches/v14.1 project/tags &&\n \techo foo > project/trunk/foo &&\n-\tsvn import -m \"$test_description\" project \"$svnrepo/project\" &&\n+\tsvn_cmd import -m \"$test_description\" project \"$svnrepo/project\" &&\n \trm -rf project &&\n-\tsvn cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n+\tsvn_cmd cp -m \"fun\" \"$svnrepo/project/trunk\" \\\n \t                \"$svnrepo/project/branches/v14.1/beta\" &&\n-\tsvn cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n+\tsvn_cmd cp -m \"more fun!\" \"$svnrepo/project/branches/v14.1/beta\" \\\n \t                      \"$svnrepo/project/branches/v14.1/gold\"\n \t'\n \ndiff --git a/t/t9127-git-svn-partial-rebuild.sh b/t/t9127-git-svn-partial-rebuild.sh\nindex 87696a9..4aab8ec 100755\n--- a/t/t9127-git-svn-partial-rebuild.sh\n+++ b/t/t9127-git-svn-partial-rebuild.sh\n@@ -14,21 +14,21 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n-\t\tsvn copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd copy \"$svnrepo\"/trunk \"$svnrepo\"/branches/a \\\n \t\t\t-m \"created branch a\" &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n-\t\tsvn co \"$svnrepo\"/branches/a a &&\n+\t\tsvn_cmd co \"$svnrepo\"/branches/a a &&\n \t\tcd a &&\n \t\techo baz >> a &&\n-\t\tsvn add a &&\n-\t\tsvn ci -m \"updated a\" &&\n+\t\tsvn_cmd add a &&\n+\t\tsvn_cmd ci -m \"updated a\" &&\n \t\tcd .. &&\n \t\tgit svn init --stdlayout \"$svnrepo\"\n \t)\ndiff --git a/t/t9128-git-svn-cmd-branch.sh b/t/t9128-git-svn-cmd-branch.sh\nindex 252daa7..807e494 100755\n--- a/t/t9128-git-svn-cmd-branch.sh\n+++ b/t/t9128-git-svn-cmd-branch.sh\n@@ -14,13 +14,13 @@ test_expect_success 'initialize svnrepo' '\n \t\tcd trunk &&\n \t\techo foo > foo &&\n \t\tcd .. &&\n-\t\tsvn import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n+\t\tsvn_cmd import -m \"import for git-svn\" . \"$svnrepo\" >/dev/null &&\n \t\tcd .. &&\n \t\trm -rf import &&\n-\t\tsvn co \"$svnrepo\"/trunk trunk &&\n+\t\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n \t\tcd trunk &&\n \t\techo bar >> foo &&\n-\t\tsvn ci -m \"updated trunk\" &&\n+\t\tsvn_cmd ci -m \"updated trunk\" &&\n \t\tcd .. &&\n \t\trm -rf trunk\n \t)\n@@ -57,14 +57,14 @@ test_expect_success 'git svn branch tests' '\n '\n \n test_expect_success 'branch uses correct svn-remote' '\n-\t(svn co \"$svnrepo\" svn &&\n+\t(svn_cmd co \"$svnrepo\" svn &&\n \tcd svn &&\n \tmkdir mirror &&\n-\tsvn add mirror &&\n-\tsvn copy trunk mirror/ &&\n-\tsvn copy tags mirror/ &&\n-\tsvn copy branches mirror/ &&\n-\tsvn ci -m \"made mirror\" ) &&\n+\tsvn_cmd add mirror &&\n+\tsvn_cmd copy trunk mirror/ &&\n+\tsvn_cmd copy tags mirror/ &&\n+\tsvn_cmd copy branches mirror/ &&\n+\tsvn_cmd ci -m \"made mirror\" ) &&\n \trm -rf svn &&\n \tgit svn init -s -R mirror --prefix=mirror/ \"$svnrepo\"/mirror &&\n \tgit svn fetch -R mirror &&\ndiff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh\nindex 3200ab3..d45fb73 100755\n--- a/t/t9129-git-svn-i18n-commitencoding.sh\n+++ b/t/t9129-git-svn-i18n-commitencoding.sh\n@@ -33,7 +33,7 @@ for H in ISO-8859-1 EUCJP ISO-2022-JP\n do\n \ttest_expect_success \"$H setup\" '\n \t\tmkdir $H &&\n-\t\tsvn import -m \"$H test\" $H \"$svnrepo\"/$H &&\n+\t\tsvn_cmd import -m \"$H test\" $H \"$svnrepo\"/$H &&\n \t\tgit svn clone \"$svnrepo\"/$H $H\n \t'\n done\ndiff --git a/t/t9130-git-svn-authors-file.sh b/t/t9130-git-svn-authors-file.sh\nindex b8fb277..f5abdb3 100755\n--- a/t/t9130-git-svn-authors-file.sh\n+++ b/t/t9130-git-svn-authors-file.sh\n@@ -15,7 +15,7 @@ EOF\n test_expect_success 'setup svnrepo' '\n \tfor i in aa bb cc dd\n \tdo\n-\t\tsvn mkdir -m $i --username $i \"$svnrepo\"/$i\n+\t\tsvn_cmd mkdir -m $i --username $i \"$svnrepo\"/$i\n \tdone\n \t'\n \n@@ -52,13 +52,13 @@ test_expect_success 'continues to import once authors have been added' '\n \t'\n \n test_expect_success 'authors-file against globs' '\n-\tsvn mkdir -m globs --username aa \\\n+\tsvn_cmd mkdir -m globs --username aa \\\n \t  \"$svnrepo\"/aa/trunk \"$svnrepo\"/aa/branches \"$svnrepo\"/aa/tags &&\n \tgit svn clone --authors-file=svn-authors -s \"$svnrepo\"/aa aa-work &&\n \tfor i in bb ee cc\n \tdo\n \t\tbranch=\"aa/branches/$i\"\n-\t\tsvn mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n+\t\tsvn_cmd mkdir -m \"$branch\" --username $i \"$svnrepo/$branch\"\n \tdone\n \t'\n \ndiff --git a/t/t9133-git-svn-nested-git-repo.sh b/t/t9133-git-svn-nested-git-repo.sh\nindex 893f57e..f3c30e6 100755\n--- a/t/t9133-git-svn-nested-git-repo.sh\n+++ b/t/t9133-git-svn-nested-git-repo.sh\n@@ -7,19 +7,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup repo with a git repo inside it' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tgit init &&\n \t\ttest -f .git/HEAD &&\n \t\t> .git/a &&\n \t\techo a > a &&\n-\t\tsvn add .git a &&\n-\t\tsvn commit -m \"create a nested git repo\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add .git a &&\n+\t\tsvn_cmd commit -m \"create a nested git repo\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> .git/a &&\n-\t\tsvn commit -m \"modify .git/a\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify .git/a\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -33,9 +33,9 @@ test_expect_success 'SVN-side change outside of .git' '\n \t(\n \t\tcd s &&\n \t\techo b >> a &&\n-\t\tsvn commit -m \"SVN-side change outside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of .git\"\n \t)\n '\n \n@@ -56,10 +56,10 @@ test_expect_success 'SVN-side change inside of .git' '\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n \t\tgit log &&\n-\t\tsvn add --force .git &&\n-\t\tsvn commit -m \"SVN-side change inside of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of .git\"\n+\t\tsvn_cmd add --force .git &&\n+\t\tsvn_cmd commit -m \"SVN-side change inside of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of .git\"\n \t)\n '\n \n@@ -80,9 +80,9 @@ test_expect_success 'SVN-side change in and out of .git' '\n \t\techo c >> a &&\n \t\tgit add a &&\n \t\tgit commit -m \"add a inside an SVN repo\" &&\n-\t\tsvn commit -m \"SVN-side change in and out of .git\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of .git\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of .git\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of .git\"\n \t)\n '\n \ndiff --git a/t/t9134-git-svn-ignore-paths.sh b/t/t9134-git-svn-ignore-paths.sh\nindex 71fdc4a..09ff10c 100755\n--- a/t/t9134-git-svn-ignore-paths.sh\n+++ b/t/t9134-git-svn-ignore-paths.sh\n@@ -8,19 +8,19 @@ test_description='git svn property tests'\n . ./lib-git-svn.sh\n \n test_expect_success 'setup test repository' '\n-\tsvn co \"$svnrepo\" s &&\n+\tsvn_cmd co \"$svnrepo\" s &&\n \t(\n \t\tcd s &&\n \t\tmkdir qqq www &&\n \t\techo test_qqq > qqq/test_qqq.txt &&\n \t\techo test_www > www/test_www.txt &&\n-\t\tsvn add qqq &&\n-\t\tsvn add www &&\n-\t\tsvn commit -m \"create some files\" &&\n-\t\tsvn up &&\n+\t\tsvn_cmd add qqq &&\n+\t\tsvn_cmd add www &&\n+\t\tsvn_cmd commit -m \"create some files\" &&\n+\t\tsvn_cmd up &&\n \t\techo hi >> www/test_www.txt &&\n-\t\tsvn commit -m \"modify www/test_www.txt\" &&\n-\t\tsvn up\n+\t\tsvn_cmd commit -m \"modify www/test_www.txt\" &&\n+\t\tsvn_cmd up\n \t)\n '\n \n@@ -51,9 +51,9 @@ test_expect_success 'SVN-side change outside of www' '\n \t(\n \t\tcd s &&\n \t\techo b >> qqq/test_qqq.txt &&\n-\t\tsvn commit -m \"SVN-side change outside of www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change outside of www\"\n+\t\tsvn_cmd commit -m \"SVN-side change outside of www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change outside of www\"\n \t)\n '\n \n@@ -83,9 +83,9 @@ test_expect_success 'SVN-side change inside of ignored www' '\n \t(\n \t\tcd s &&\n \t\techo zaq >> www/test_www.txt\n-\t\tsvn commit -m \"SVN-side change inside of www/test_www.txt\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n+\t\tsvn_cmd commit -m \"SVN-side change inside of www/test_www.txt\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change inside of www/test_www.txt\"\n \t)\n '\n \n@@ -116,9 +116,9 @@ test_expect_success 'SVN-side change in and out of ignored www' '\n \t\tcd s &&\n \t\techo cvf >> www/test_www.txt\n \t\techo ygg >> qqq/test_qqq.txt\n-\t\tsvn commit -m \"SVN-side change in and out of ignored www\" &&\n-\t\tsvn up &&\n-\t\tsvn log -v | fgrep \"SVN-side change in and out of ignored www\"\n+\t\tsvn_cmd commit -m \"SVN-side change in and out of ignored www\" &&\n+\t\tsvn_cmd up &&\n+\t\tsvn_cmd log -v | fgrep \"SVN-side change in and out of ignored www\"\n \t)\n '\n \ndiff --git a/t/t9137-git-svn-dcommit-clobber-series.sh b/t/t9137-git-svn-dcommit-clobber-series.sh\nindex fd18501..636ca0a 100755\n--- a/t/t9137-git-svn-dcommit-clobber-series.sh\n+++ b/t/t9137-git-svn-dcommit-clobber-series.sh\n@@ -8,7 +8,7 @@ test_expect_success 'initialize repo' '\n \tmkdir import &&\n \tcd import &&\n \tawk \"BEGIN { for (i = 1; i < 64; i++) { print i } }\" > file\n-\tsvn import -m \"initial\" . \"$svnrepo\" &&\n+\tsvn_cmd import -m \"initial\" . \"$svnrepo\" &&\n \tcd .. &&\n \tgit svn init \"$svnrepo\" &&\n \tgit svn fetch &&\n@@ -18,14 +18,14 @@ test_expect_success 'initialize repo' '\n test_expect_success '(supposedly) non-conflicting change from SVN' '\n \ttest x\"`sed -n -e 58p < file`\" = x58 &&\n \ttest x\"`sed -n -e 61p < file`\" = x61 &&\n-\tsvn co \"$svnrepo\" tmp &&\n+\tsvn_cmd co \"$svnrepo\" tmp &&\n \tcd tmp &&\n \t\tperl -i.bak -p -e \"s/^58$/5588/\" file &&\n \t\tperl -i.bak -p -e \"s/^61$/6611/\" file &&\n \t\tpoke file &&\n \t\ttest x\"`sed -n -e 58p < file`\" = x5588 &&\n \t\ttest x\"`sed -n -e 61p < file`\" = x6611 &&\n-\t\tsvn commit -m \"58 => 5588, 61 => 6611\" &&\n+\t\tsvn_cmd commit -m \"58 => 5588, 61 => 6611\" &&\n \t\tcd ..\n \t'\n \n@@ -46,7 +46,7 @@ test_expect_success 'change file but in unrelated area' \"\n \ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n \tgit commit -m '4 => 4444, 7 => 7777' file &&\n \tgit svn dcommit &&\n-\tsvn up tmp &&\n+\tsvn_cmd up tmp &&\n \tcd tmp &&\n \t\ttest x\\\"\\`sed -n -e 4p < file\\`\\\" = x4444 &&\n \t\ttest x\\\"\\`sed -n -e 7p < file\\`\\\" = x7777 &&\n-- \n1.6.2.4\n-- \nEygene\n"},{"id":"113437","messageId":"20090510011716.GA2114@dcvr.yhbt.net","threadId":"19147","inReplyTo":"toS3g/caDjln1k7lKlVDYehlCbQ@psUvbB26hX94GoQd3C5ThNBxOp8","subject":"Re: [RESEND PATCH] git-svn testsuite: use standard configuration for Subversion tools","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2009-05-10T01:17:16Z","receivedAt":"2009-05-10T01:17:16Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Eygene Ryabinkin <rea-git@codelabs.ru> wrote:\n> I have tweaked configuration in my ~/.subversion directory, namely I am\n> running auto-properties and automatically adding '$Id$' expansion to\n> every file.  This choke the last test named 'proplist' from\n> t9101-git-svn-props.sh, because one more property, svn:keywords is\n> automatically added.\n> \n> I had just wrapped svn invocation with the svn_cmd that specifies empty\n> directory via --config-dir argument.  Since the latter is the global\n> option, it should be recognized by all svn subcommands, so no\n> regressions will be introduced.\n> \n> Now svn_cmd is used everywhere, not just in the failed test module: this\n> should guard us from the future clashes with user-defined configuration\n> tweaks.\n> \n> Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>\n\nThanks Eygene,\n\nAcked-by: Eric Wong <normalperson@yhbt.net>\nand pushed out to git://git.bogomips.org/git-svn.git\n\n(There's an 'l' in my email address :)\n\n-- \nEric Wong\n"}]}