(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 multiple branch and tag paths in the svn repo'
                  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\tproject \\\n' span_id:31) (Token id:Id.Lit_Chars val:'\t\tproject/trunk \\\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'\t\tproject/b_one \\\n' span_id:33) (Token id:Id.Lit_Chars val:'\t\tproject/b_two \\\n' span_id:34) 
          (Token id:Id.Lit_Chars val:'\t\tproject/tags_A \\\n' span_id:35) (Token id:Id.Lit_Chars val:'\t\tproject/tags_B &&\n' span_id:36) 
          (Token id:Id.Lit_Chars val:'\techo 1 > project/trunk/a.file &&\n' span_id:37) 
          (Token
            id: Id.Lit_Chars
            val: '\tsvn_cmd import -m "$test_description" project "$svnrepo/project" &&\n'
            span_id: 38
          ) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:39) 
          (Token
            id: Id.Lit_Chars
            val: '\tsvn_cmd cp -m "Branch 1" "$svnrepo/project/trunk" \\\n'
            span_id: 40
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t "$svnrepo/project/b_one/first" &&\n' span_id:41) 
          (Token
            id: Id.Lit_Chars
            val: '\tsvn_cmd cp -m "Tag 1" "$svnrepo/project/trunk" \\\n'
            span_id: 42
          ) (Token id:Id.Lit_Chars val:'\t\t\t      "$svnrepo/project/tags_A/1.0" &&\n' span_id:43) 
          (Token
            id: Id.Lit_Chars
            val: '\tsvn_cmd co "$svnrepo/project" svn_project &&\n'
            span_id: 44
          ) (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\t\techo 2 > trunk/a.file &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 1" trunk/a.file &&\n' span_id:47) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Branch 2" "$svnrepo/project/trunk" \\\n'
            span_id: 48
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t\t "$svnrepo/project/b_one/second" &&\n' span_id:49) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 2" "$svnrepo/project/trunk" \\\n'
            span_id: 50
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_A/2.0" &&\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\t\techo 3 > trunk/a.file &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 2" trunk/a.file &&\n' span_id:53) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Branch 3" "$svnrepo/project/trunk" \\\n'
            span_id: 54
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t\t "$svnrepo/project/b_two/1" &&\n' span_id:55) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 3" "$svnrepo/project/trunk" \\\n'
            span_id: 56
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_A/3.0" &&\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\t\techo 4 > trunk/a.file &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 3" trunk/a.file &&\n' span_id:59) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Branch 4" "$svnrepo/project/trunk" \\\n'
            span_id: 60
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t\t "$svnrepo/project/b_two/2" &&\n' span_id:61) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 4" "$svnrepo/project/trunk" \\\n'
            span_id: 62
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_A/4.0" &&\n' span_id:63) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:64) (Token id:Id.Lit_Chars val:'\t\techo 5 > b_one/first/a.file &&\n' span_id:65) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd ci -m "Change 4" b_one/first/a.file &&\n'
            span_id: 66
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 5" "$svnrepo/project/b_one/first" \\\n'
            span_id: 67
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_B/v5" &&\n' span_id:68) 
          (Token id:Id.Lit_Chars val:'\t\techo 6 > b_one/second/a.file &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 5" b_one/second/a.file &&\n' span_id:70) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 6" "$svnrepo/project/b_one/second" \\\n'
            span_id: 71
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_B/v6" &&\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\t\techo 7 > b_two/1/a.file &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 6" b_two/1/a.file &&\n' span_id:74) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 7" "$svnrepo/project/b_two/1" \\\n'
            span_id: 75
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_B/v7" &&\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\t\techo 8 > b_two/2/a.file &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "Change 7" b_two/2/a.file &&\n' span_id:78) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd cp -m "Tag 8" "$svnrepo/project/b_two/2" \\\n'
            span_id: 79
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t      "$svnrepo/project/tags_B/v8"\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:81)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone multiple branch and tag paths' span_id:88))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:92) 
          (Token id:Id.Lit_Chars val:'\tgit svn clone -T trunk \\\n' span_id:93) (Token id:Id.Lit_Chars val:'\t\t      -b b_one/* --branches b_two/* \\\n' span_id:94) 
          (Token id:Id.Lit_Chars val:'\t\t      -t tags_A/* --tags tags_B \\\n' span_id:95) (Token id:Id.Lit_Chars val:'\t\t      "$svnrepo/project" git_project &&\n' span_id:96) 
          (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/first &&\n' span_id:98) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/second &&\n'
            span_id: 99
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/1 &&\n' span_id:100) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/2 &&\n'
            span_id: 101
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/1.0 &&\n' span_id:102) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/tags/2.0 &&\n'
            span_id: 103
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/3.0 &&\n' span_id:104) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/tags/4.0 &&\n'
            span_id: 105
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/v5 &&\n' span_id:106) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/tags/v6 &&\n'
            span_id: 107
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/remotes/origin/tags/v7 &&\n' span_id:108) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/origin/tags/v8\n'
            span_id: 109
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:110)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'Multiple branch or tag paths require -d' span_id:117))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:121) 
          (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:122) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail git svn branch -m "No new branch" Nope &&\n'
            span_id: 123
          ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git svn tag -m "No new tag" Tagless &&\n' span_id:124) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail git rev-parse refs/remotes/origin/Nope &&\n'
            span_id: 125
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail git rev-parse refs/remotes/origin/tags/Tagless\n'
            span_id: 126
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:127) 
          (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:128) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:129) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail test -d b_one/Nope &&\n'
            span_id: 130
          ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail test -d b_two/Nope &&\n' span_id:131) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail test -d tags_A/Tagless &&\n'
            span_id: 132
          ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail test -d tags_B/Tagless\n' span_id:133) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:134)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'create new branches and tags' span_id:141))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:145) 
          (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\t\tgit svn branch -m "New branch 1" -d b_one New1 ) &&\n' span_id:147) 
          (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:148) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up && test -e b_one/New1/a.file ) &&\n' span_id:149) 
          (Token id:Id.Lit_Chars val:'\n' span_id:150) (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:151) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit svn branch -m "New branch 2" -d b_two New2 ) &&\n'
            span_id: 152
          ) (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:153) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd up && test -e b_two/New2/a.file ) &&\n'
            span_id: 154
          ) (Token id:Id.Lit_Chars val:'\n' span_id:155) 
          (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:156) (Token id:Id.Lit_Chars val:'\t\tgit svn branch -t -m "New tag 1" -d tags_A Tag1 ) &&\n' span_id:157) 
          (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:158) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up && test -e tags_A/Tag1/a.file ) &&\n' span_id:159) 
          (Token id:Id.Lit_Chars val:'\n' span_id:160) (Token id:Id.Lit_Chars val:'\t( cd git_project &&\n' span_id:161) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit svn tag -m "New tag 2" -d tags_B Tag2 ) &&\n'
            span_id: 162
          ) (Token id:Id.Lit_Chars val:'\t( cd svn_project &&\n' span_id:163) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd up && test -e tags_B/Tag2/a.file )\n'
            span_id: 164
          )
        )
      }
    )
    (C {(test_done)})
  ]
)