(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 funky branch names' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:scary_uri) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'Abo-Uebernahme%20%28Bug%20%23994%29' span_id:28))} spids: [26] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:scary_ref) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'Abo-Uebernahme%20(Bug%20#994)' span_id:33))} spids: [31] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup svnrepo' span_id:40))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:44) (Token id: Id.Lit_Chars val: '\tmkdir project project/trunk project/branches project/tags &&\n' span_id: 45 ) (Token id:Id.Lit_Chars val:'\techo foo > project/trunk/foo &&\n' span_id:46) (Token id: Id.Lit_Chars val: '\tsvn_cmd import -m "$test_description" project "$svnrepo/pr ject" &&\n' span_id: 47 ) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:48) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "fun" "$svnrepo/pr ject/trunk" \\\n' span_id: 49 ) (Token id: Id.Lit_Chars val: '\t "$svnrepo/pr ject/branches/fun plugin" &&\n' span_id: 50 ) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "more fun!" "$svnrepo/pr ject/branches/fun plugin" \\\n' span_id: 51 ) (Token id: Id.Lit_Chars val: '\t "$svnrepo/pr ject/branches/more fun plugin!" &&\n' span_id: 52 ) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "scary" "$svnrepo/pr ject/branches/fun plugin" \\\n' span_id: 53 ) (Token id:Id.Lit_Chars val:'\t "$svnrepo/pr ject/branches/$scary_uri" &&\n' span_id:54) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "leading dot" "$svnrepo/pr ject/trunk" \\\n' span_id: 55 ) (Token id:Id.Lit_Chars val:'\t\t\t"$svnrepo/pr ject/branches/.leading_dot" &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tif test_have_prereq !MINGW\n' span_id:57) (Token id:Id.Lit_Chars val:'\tthen\n' span_id:58) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \\\n' span_id: 59 ) (Token id:Id.Lit_Chars val:'\t\t\t"$svnrepo/pr ject/branches/trailing_dot."\n' span_id:60) (Token id:Id.Lit_Chars val:'\tfi &&\n' span_id:61) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "trailing .lock" "$svnrepo/pr ject/trunk" \\\n' span_id: 62 ) (Token id:Id.Lit_Chars val:'\t\t\t"$svnrepo/pr ject/branches/trailing_dotlock.lock" &&\n' span_id:63) (Token id: Id.Lit_Chars val: '\tsvn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \\\n' span_id: 64 ) (Token id:Id.Lit_Chars val:'\t\t\t"$svnrepo/pr ject/branches/not-a@{0}reflog@" &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\tmaybe_start_httpd\n' span_id:66) (Token id:Id.Lit_Chars val:'\t' span_id:67) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:non_reflog) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:81) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(svn_cmd)} {(ls)} {(DQ ($ Id.VSub_DollarName '$svnrepo') ('/pr ject/branches'))} ) (C {(grep)} {(not-a)}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/\\///' span_id:102))}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/@/%40/' span_id:110))}) ] negated: F ) ] ) ) } spids: [80] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test clone with funky branch names' span_id:118))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:122) (Token id: Id.Lit_Chars val: '\tgit svn clone -s "$svnrepo/pr ject" project &&\n' span_id: 123 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:124) (Token id:Id.Lit_Chars val:'\t\tcd project &&\n' span_id:125) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse "refs/remotes/origin/fun%20plugin" &&\n' span_id:126) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse "refs/remotes/origin/more%20fun%20plugin!" &&\n' span_id: 127 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse "refs/remotes/origin/$scary_ref" &&\n' span_id:128) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse "refs/remotes/origin/%2Eleading_dot" &&\n' span_id: 129 ) (Token id:Id.Lit_Chars val:'\t\tif test_have_prereq !MINGW\n' span_id:130) (Token id:Id.Lit_Chars val:'\t\tthen\n' span_id:131) (Token id:Id.Lit_Chars val:'\t\t\tgit rev-parse "refs/remotes/origin/trailing_dot%2E"\n' span_id:132) (Token id:Id.Lit_Chars val:'\t\tfi &&\n' span_id:133) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse "refs/remotes/origin/trailing_dotlock%2Elock" &&\n' span_id: 134 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse "refs/remotes/origin/$non_reflog"\n' span_id:135) (Token id:Id.Lit_Chars val:'\t)\n' span_id:136) (Token id:Id.Lit_Chars val:'\t' span_id:137) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test dcommit to funky branch' span_id:144))} { (DQ ('\n') ('\t(\n') ('\t\tcd project &&\n') ("\t\tgit reset --hard 'refs/remotes/origin/more%20fun%20plugin!' &&\n") ('\t\techo hello >> foo &&\n') ("\t\tgit commit -m 'hello' -- foo &&\n") ('\t\tgit svn dcommit\n') ('\t)\n') ('\t') ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test dcommit to scary branch' span_id:163))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:167) (Token id:Id.Lit_Chars val:'\t(\n' span_id:168) (Token id:Id.Lit_Chars val:'\t\tcd project &&\n' span_id:169) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard "refs/remotes/origin/$scary_ref" &&\n' span_id: 170 ) (Token id:Id.Lit_Chars val:'\t\techo urls are scary >> foo &&\n' span_id:171) (Token id:Id.Lit_Chars val:'\t\tgit commit -m "eep" -- foo &&\n' span_id:172) (Token id:Id.Lit_Chars val:'\t\tgit svn dcommit\n' span_id:173) (Token id:Id.Lit_Chars val:'\t)\n' span_id:174) (Token id:Id.Lit_Chars val:'\t' span_id:175) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test dcommit to trailing_dotlock branch' span_id:182))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:186) (Token id:Id.Lit_Chars val:'\t(\n' span_id:187) (Token id:Id.Lit_Chars val:'\t\tcd project &&\n' span_id:188) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard "refs/remotes/origin/trailing_dotlock%2Elock" &&\n' span_id: 189 ) (Token id:Id.Lit_Chars val:'\t\techo who names branches like this anyway? >> foo &&\n' span_id:190) (Token id:Id.Lit_Chars val:'\t\tgit commit -m "bar" -- foo &&\n' span_id:191) (Token id:Id.Lit_Chars val:'\t\tgit svn dcommit\n' span_id:192) (Token id:Id.Lit_Chars val:'\t)\n' span_id:193) (Token id:Id.Lit_Chars val:'\t' span_id:194) ) } ) (C {(stop_httpd)}) (C {(test_done)}) ] )