(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'git svn clone with percent escapes' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup svnrepo' span_id:26))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:30) (Token id: Id.Lit_Chars val: '\tmkdir project project/trunk project/branches project/tags &&\n' span_id: 31 ) (Token id:Id.Lit_Chars val:'\techo foo > project/trunk/foo &&\n' span_id:32) (Token id: Id.Lit_Chars val: '\tsvn_cmd import -m "$test_description" project "$svnrepo/pr ject" &&\n' span_id: 33 ) (Token id:Id.Lit_Chars val:'\tsvn_cmd cp -m "branch" "$svnrepo/pr ject/trunk" \\\n' span_id:34) (Token id:Id.Lit_Chars val:'\t "$svnrepo/pr ject/branches/b" &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\tsvn_cmd cp -m "tag" "$svnrepo/pr ject/trunk" \\\n' span_id:36) (Token id:Id.Lit_Chars val:'\t "$svnrepo/pr ject/tags/v1" &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\tmaybe_start_httpd\n' span_id:39) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test clone with percent escapes' span_id:46))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:50) (Token id: Id.Lit_Chars val: '\tgit svn clone "$svnrepo/pr%20ject" clone &&\n' span_id: 51 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:52) (Token id:Id.Lit_Chars val:'\t\tcd clone &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/git-svn\n' span_id:54) (Token id:Id.Lit_Chars val:'\t)\n' span_id:55) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'svn checkout with percent escapes' span_id:66))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:70) (Token id: Id.Lit_Chars val: '\tsvn_cmd checkout "$svnrepo/pr%20ject" svn.percent &&\n' span_id: 71 ) (Token id: Id.Lit_Chars val: '\tsvn_cmd checkout "$svnrepo/pr%20ject/trunk" svn.percent.trunk\n' span_id: 72 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'svn checkout with space' span_id:79))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) (Token id: Id.Lit_Chars val: '\tsvn_cmd checkout "$svnrepo/pr ject" svn.space &&\n' span_id: 84 ) (Token id: Id.Lit_Chars val: '\tsvn_cmd checkout "$svnrepo/pr ject/trunk" svn.space.trunk\n' span_id: 85 ) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'test clone trunk with percent escapes and minimize-url' span_id: 92 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:96) (Token id: Id.Lit_Chars val: '\tgit svn clone --minimize-url "$svnrepo/pr%20ject/trunk" minimize &&\n' span_id: 97 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:98) (Token id:Id.Lit_Chars val:'\t\tcd minimize &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/git-svn\n' span_id:100) (Token id:Id.Lit_Chars val:'\t)\n' span_id:101) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test clone trunk with percent escapes' span_id:108))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:112) (Token id: Id.Lit_Chars val: '\tgit svn clone "$svnrepo/pr%20ject/trunk" trunk &&\n' span_id: 113 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:114) (Token id:Id.Lit_Chars val:'\t\tcd trunk &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/git-svn\n' span_id:116) (Token id:Id.Lit_Chars val:'\t)\n' span_id:117) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test clone --stdlayout with percent escapes' span_id:124))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:128) (Token id: Id.Lit_Chars val: '\tgit svn clone --stdlayout "$svnrepo/pr%20ject" percent &&\n' span_id: 129 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:130) (Token id:Id.Lit_Chars val:'\t\tcd percent &&\n' span_id:131) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/trunk^0 &&\n' span_id:132) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse refs/remotes/origin/b^0 &&\n' span_id: 133 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/v1^0\n' span_id:134) (Token id:Id.Lit_Chars val:'\t)\n' span_id:135) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test clone -s with unescaped space' span_id:142))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:146) (Token id: Id.Lit_Chars val: '\tgit svn clone -s "$svnrepo/pr ject" --prefix origin/ space &&\n' span_id: 147 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:148) (Token id:Id.Lit_Chars val:'\t\tcd space &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/trunk^0 &&\n' span_id:150) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse refs/remotes/origin/b^0 &&\n' span_id: 151 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/v1^0\n' span_id:152) (Token id:Id.Lit_Chars val:'\t)\n' span_id:153) ) } ) (C {(stop_httpd)}) (C {(test_done)}) ] )