diff options
author | Kevin Ballard <kevin@sb.org> | 2008-03-20 16:08:49 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-20 23:59:12 -0700 |
commit | 8114da161611d6eb7cc6163aee2f5ba51ccad9f3 (patch) | |
tree | 24b54a9dc2d151a6e4215e7d9eaa8248d1e026fb /t/t9120-git-svn-clone-with-percent-escapes.sh | |
parent | 740fdd27f0888d5c80ef6a550734bdc53febd2df (diff) | |
download | git-8114da161611d6eb7cc6163aee2f5ba51ccad9f3.tar.gz git-8114da161611d6eb7cc6163aee2f5ba51ccad9f3.tar.xz |
Don't try and percent-escape existing percent escapes in git-svn URIs
git-svn project names are percent-escaped ever since f5530b8
(git-svn: support for funky branch and project names over HTTP(S),
2007-11-11).
Unfortunately this breaks the scenario where the user hands git-svn an
already-escaped URI. Fix the regexp to skip over what looks like
existing percent escapes, and test this scenario.
Signed-off-by: Kevin Ballard <kevin@sb.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9120-git-svn-clone-with-percent-escapes.sh')
-rwxr-xr-x | t/t9120-git-svn-clone-with-percent-escapes.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/t/t9120-git-svn-clone-with-percent-escapes.sh b/t/t9120-git-svn-clone-with-percent-escapes.sh new file mode 100755 index 000000000..9a4eabe52 --- /dev/null +++ b/t/t9120-git-svn-clone-with-percent-escapes.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (c) 2008 Kevin Ballard +# + +test_description='git-svn clone with percent escapes' +. ./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 && + start_httpd +" + +if test "$SVN_HTTPD_PORT" = "" +then + test_expect_failure 'test clone with percent escapes - needs SVN_HTTPD_PORT set' 'false' +else + test_expect_success 'test clone with percent escapes' ' + git svn clone "$svnrepo/pr%20ject" clone && + cd clone && + git rev-parse refs/remotes/git-svn && + cd .. + ' +fi + +stop_httpd + +test_done |