diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-09-08 14:15:17 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-09-08 14:15:17 -0700 |
commit | 24fa13cbb7c520f787370b471b4f04652fbb68d5 (patch) | |
tree | f62ddbfc3e65ae3d7dca7c2ab0b46675ddbfb94a | |
parent | 277cd4c4bd8cca31395846fc80ea28bf2cd4ddf2 (diff) | |
parent | f4392df485b197a0797cc503b1e1a71350abfe56 (diff) | |
download | git-24fa13cbb7c520f787370b471b4f04652fbb68d5.tar.gz git-24fa13cbb7c520f787370b471b4f04652fbb68d5.tar.xz |
Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
git-svn: fix handling of even funkier branch names
-rwxr-xr-x | git-svn.perl | 1 | ||||
-rwxr-xr-x | t/t9118-git-svn-funky-branch-names.sh | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/git-svn.perl b/git-svn.perl index ee3f5edb6..ecacf74c2 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -4025,6 +4025,7 @@ sub gs_do_switch { } } $ra ||= $self; + $url_b = escape_url($url_b); my $reporter = $ra->do_switch($rev_b, '', 1, $url_b, $editor, $pool); my @lock = $SVN::Core::VERSION ge '1.2.0' ? (undef) : (); $reporter->set_path('', $rev_a, 0, @lock, $pool); diff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh index 3281cbd34..43ceb75d5 100755 --- a/t/t9118-git-svn-funky-branch-names.sh +++ b/t/t9118-git-svn-funky-branch-names.sh @@ -6,6 +6,10 @@ test_description='git-svn funky branch names' . ./lib-git-svn.sh +# Abo-Uebernahme (Bug #994) +scary_uri='Abo-Uebernahme%20%28Bug%20%23994%29' +scary_ref='Abo-Uebernahme%20(Bug%20#994)' + test_expect_success 'setup svnrepo' ' mkdir project project/trunk project/branches project/tags && echo foo > project/trunk/foo && @@ -15,6 +19,8 @@ test_expect_success 'setup svnrepo' ' "$svnrepo/pr ject/branches/fun plugin" && svn cp -m "more fun!" "$svnrepo/pr ject/branches/fun plugin" \ "$svnrepo/pr ject/branches/more fun plugin!" && + svn cp -m "scary" "$svnrepo/pr ject/branches/fun plugin" \ + "$svnrepo/pr ject/branches/$scary_uri" && start_httpd ' @@ -23,6 +29,7 @@ test_expect_success 'test clone with funky branch names' ' cd project && git rev-parse "refs/remotes/fun%20plugin" && git rev-parse "refs/remotes/more%20fun%20plugin!" && + git rev-parse "refs/remotes/$scary_ref" && cd .. ' @@ -35,6 +42,15 @@ test_expect_success 'test dcommit to funky branch' " cd .. " +test_expect_success 'test dcommit to scary branch' ' + cd project && + git reset --hard "refs/remotes/$scary_ref" && + echo urls are scary >> foo && + git commit -m "eep" -- foo && + git svn dcommit && + cd .. + ' + stop_httpd test_done |