mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Eric Wong](/assets/img/avatar_default.png)
SVN requires that paths be URI-escaped for HTTP(S) repositories. file:// and svn:// repositories do not need these rules. Additionally, accessing individual paths inside repositories (check_path() and get_log() do NOT require escapes to function and in fact it breaks things). Noticed-by: Michael J. Cohen <mjc@cruiseplanners.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
41 lines
1 KiB
Bash
Executable file
41 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2007 Eric Wong
|
|
#
|
|
|
|
test_description='git-svn funky branch names'
|
|
. ./lib-git-svn.sh
|
|
|
|
test_expect_success 'setup svnrepo' "
|
|
mkdir project project/trunk project/branches project/tags &&
|
|
echo foo > project/trunk/foo &&
|
|
svn import -m '$test_description' project \"$svnrepo/pr ject\" &&
|
|
rm -rf project &&
|
|
svn cp -m 'fun' \"$svnrepo/pr ject/trunk\" \
|
|
\"$svnrepo/pr ject/branches/fun plugin\" &&
|
|
svn cp -m 'more fun!' \"$svnrepo/pr ject/branches/fun plugin\" \
|
|
\"$svnrepo/pr ject/branches/more fun plugin!\" &&
|
|
start_httpd
|
|
"
|
|
|
|
test_expect_success 'test clone with funky branch names' "
|
|
git svn clone -s \"$svnrepo/pr ject\" project &&
|
|
cd project &&
|
|
git rev-parse 'refs/remotes/fun%20plugin' &&
|
|
git rev-parse 'refs/remotes/more%20fun%20plugin!' &&
|
|
cd ..
|
|
"
|
|
|
|
test_expect_success 'test dcommit to funky branch' "
|
|
cd project &&
|
|
git reset --hard 'refs/remotes/more%20fun%20plugin!' &&
|
|
echo hello >> foo &&
|
|
git commit -m 'hello' -- foo &&
|
|
git svn dcommit &&
|
|
cd ..
|
|
"
|
|
|
|
stop_httpd
|
|
|
|
test_done
|