diff options
Diffstat (limited to 'third_party/git/t/t9120-git-svn-clone-with-percent-escapes.sh')
-rwxr-xr-x | third_party/git/t/t9120-git-svn-clone-with-percent-escapes.sh | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/third_party/git/t/t9120-git-svn-clone-with-percent-escapes.sh b/third_party/git/t/t9120-git-svn-clone-with-percent-escapes.sh new file mode 100755 index 000000000000..40b714df31a2 --- /dev/null +++ b/third_party/git/t/t9120-git-svn-clone-with-percent-escapes.sh @@ -0,0 +1,77 @@ +#!/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_cmd import -m "$test_description" project "$svnrepo/pr ject" && + svn_cmd cp -m "branch" "$svnrepo/pr ject/trunk" \ + "$svnrepo/pr ject/branches/b" && + svn_cmd cp -m "tag" "$svnrepo/pr ject/trunk" \ + "$svnrepo/pr ject/tags/v1" && + rm -rf project && + maybe_start_httpd +' + +test_expect_success 'test clone with percent escapes' ' + git svn clone "$svnrepo/pr%20ject" clone && + ( + cd clone && + git rev-parse refs/remotes/git-svn + ) +' + +# SVN works either way, so should we... + +test_expect_success 'svn checkout with percent escapes' ' + svn_cmd checkout "$svnrepo/pr%20ject" svn.percent && + svn_cmd checkout "$svnrepo/pr%20ject/trunk" svn.percent.trunk +' + +test_expect_success 'svn checkout with space' ' + svn_cmd checkout "$svnrepo/pr ject" svn.space && + svn_cmd checkout "$svnrepo/pr ject/trunk" svn.space.trunk +' + +test_expect_success 'test clone trunk with percent escapes and minimize-url' ' + git svn clone --minimize-url "$svnrepo/pr%20ject/trunk" minimize && + ( + cd minimize && + git rev-parse refs/remotes/git-svn + ) +' + +test_expect_success 'test clone trunk with percent escapes' ' + git svn clone "$svnrepo/pr%20ject/trunk" trunk && + ( + cd trunk && + git rev-parse refs/remotes/git-svn + ) +' + +test_expect_success 'test clone --stdlayout with percent escapes' ' + git svn clone --stdlayout "$svnrepo/pr%20ject" percent && + ( + cd percent && + git rev-parse refs/remotes/origin/trunk^0 && + git rev-parse refs/remotes/origin/b^0 && + git rev-parse refs/remotes/origin/tags/v1^0 + ) +' + +test_expect_success 'test clone -s with unescaped space' ' + git svn clone -s "$svnrepo/pr ject" --prefix origin/ space && + ( + cd space && + git rev-parse refs/remotes/origin/trunk^0 && + git rev-parse refs/remotes/origin/b^0 && + git rev-parse refs/remotes/origin/tags/v1^0 + ) +' + +test_done |