|  | #!/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 && | 
|  | 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/trunk^0 && | 
|  | git rev-parse refs/remotes/b^0 && | 
|  | git rev-parse refs/remotes/tags/v1^0 | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_expect_success 'test clone -s with unescaped space' ' | 
|  | git svn clone -s "$svnrepo/pr ject" space && | 
|  | ( | 
|  | cd space && | 
|  | git rev-parse refs/remotes/trunk^0 && | 
|  | git rev-parse refs/remotes/b^0 && | 
|  | git rev-parse refs/remotes/tags/v1^0 | 
|  | ) | 
|  | ' | 
|  |  | 
|  | stop_httpd | 
|  |  | 
|  | test_done |