#!/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 ) ' stop_httpd test_done