summaryrefslogtreecommitdiff
path: root/t/lib-git-svn.sh
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-05-11 00:14:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-05-11 16:06:39 (GMT)
commitd1a8d0ea5fb2d4d43d0ea8f2fe45ec1fce7ec4bc (patch)
tree93c66d6f97e35e0b03694782437f4d8d0daa30e3 /t/lib-git-svn.sh
parent737922aa648c43bc6a61170bee5bfd46ff953f32 (diff)
downloadgit-d1a8d0ea5fb2d4d43d0ea8f2fe45ec1fce7ec4bc.zip
git-d1a8d0ea5fb2d4d43d0ea8f2fe45ec1fce7ec4bc.tar.gz
git-d1a8d0ea5fb2d4d43d0ea8f2fe45ec1fce7ec4bc.tar.bz2
git-svn: fix cloning of HTTP URLs with '+' in their path
With this, git svn clone -s http://svn.gnome.org/svn/gtk+ is successful. Also modified the funky rename test for this, which _does_ include escaped '+' signs for HTTP URLs. SVN seems to accept either "+" or "%2B" in filenames and directories (just not the main URL), so I'll leave it alone for now. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/lib-git-svn.sh')
-rw-r--r--t/lib-git-svn.sh9
1 files changed, 7 insertions, 2 deletions
diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh
index 9decd2e..d8f3355 100644
--- a/t/lib-git-svn.sh
+++ b/t/lib-git-svn.sh
@@ -73,11 +73,16 @@ for d in \
done
start_httpd () {
+ repo_base_path="$1"
if test -z "$SVN_HTTPD_PORT"
then
echo >&2 'SVN_HTTPD_PORT is not defined!'
return
fi
+ if test -z "$repo_base_path"
+ then
+ repo_base_path=svn
+ fi
mkdir "$GIT_DIR"/logs
@@ -90,13 +95,13 @@ LockFile logs/accept.lock
Listen 127.0.0.1:$SVN_HTTPD_PORT
LoadModule dav_module $SVN_HTTPD_MODULE_PATH/mod_dav.so
LoadModule dav_svn_module $SVN_HTTPD_MODULE_PATH/mod_dav_svn.so
-<Location /svn>
+<Location /$repo_base_path>
DAV svn
SVNPath $rawsvnrepo
</Location>
EOF
"$SVN_HTTPD_PATH" -f "$GIT_DIR"/httpd.conf -k start
- svnrepo=http://127.0.0.1:$SVN_HTTPD_PORT/svn
+ svnrepo="http://127.0.0.1:$SVN_HTTPD_PORT/$repo_base_path"
}
stop_httpd () {