(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 partial-rebuild tests' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'initialize svnrepo' span_id:26))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\tmkdir import &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\t(\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'\t\t(cd import &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\t\tmkdir trunk branches tags &&\n' span_id:34) 
          (Token id:Id.Lit_Chars val:'\t\t(cd trunk &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\t\techo foo > foo\n' span_id:36) 
          (Token id:Id.Lit_Chars val:'\t\t) &&\n' span_id:37) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null\n'
            span_id: 38
          ) (Token id:Id.Lit_Chars val:'\t\t) &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\t\trm -rf import &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd co "$svnrepo"/trunk trunk &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\t\t(cd trunk &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\t\techo bar >> foo &&\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd ci -m "updated trunk"\n' span_id:44) (Token id:Id.Lit_Chars val:'\t\t) &&\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\t\trm -rf trunk\n' span_id:46) (Token id:Id.Lit_Chars val:'\t)\n' span_id:47)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import into git' span_id:54))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:58) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit svn init --stdlayout "$svnrepo" &&\n'
            span_id: 59
          ) (Token id:Id.Lit_Chars val:'\tgit svn fetch &&\n' span_id:60) 
          (Token id:Id.Lit_Chars val:'\tgit checkout remotes/origin/trunk\n' span_id:61)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git svn branch tests' span_id:68))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\tgit svn branch a &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\tbase=$(git rev-parse HEAD:) &&\n' span_id:74) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/a:) &&\n'
            span_id: 75
          ) (Token id:Id.Lit_Chars val:'\tgit svn branch -m "created branch b blah" b &&\n' span_id:76) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/b:) &&\n'
            span_id: 77
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git branch -m "no branchname" &&\n' span_id:78) 
          (Token id:Id.Lit_Chars val:'\tgit svn branch -n c &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rev-parse remotes/origin/c &&\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'\ttest_must_fail git svn branch a &&\n' span_id:81) (Token id:Id.Lit_Chars val:'\tgit svn branch -t tag1 &&\n' span_id:82) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/tags/tag1:) &&\n'
            span_id: 83
          ) (Token id:Id.Lit_Chars val:'\tgit svn branch --tag tag2 &&\n' span_id:84) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/tags/tag2:) &&\n'
            span_id: 85
          ) (Token id:Id.Lit_Chars val:'\tgit svn tag tag3 &&\n' span_id:86) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/tags/tag3:) &&\n'
            span_id: 87
          ) (Token id:Id.Lit_Chars val:'\tgit svn tag -m "created tag4 foo" tag4 &&\n' span_id:88) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest $base = $(git rev-parse remotes/origin/tags/tag4:) &&\n'
            span_id: 89
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git svn tag -m "no tagname" &&\n' span_id:90) 
          (Token id:Id.Lit_Chars val:'\tgit svn tag -n tag5 &&\n' span_id:91) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rev-parse remotes/origin/tags/tag5 &&\n' span_id:92) 
          (Token id:Id.Lit_Chars val:'\ttest_must_fail git svn tag tag1\n' span_id:93)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'branch uses correct svn-remote' span_id:100))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:104) 
          (Token id:Id.Lit_Chars val:'\t(svn_cmd co "$svnrepo" svn &&\n' span_id:105) (Token id:Id.Lit_Chars val:'\tcd svn &&\n' span_id:106) 
          (Token id:Id.Lit_Chars val:'\tmkdir mirror &&\n' span_id:107) (Token id:Id.Lit_Chars val:'\tsvn_cmd add mirror &&\n' span_id:108) 
          (Token id:Id.Lit_Chars val:'\tsvn_cmd copy trunk mirror/ &&\n' span_id:109) (Token id:Id.Lit_Chars val:'\tsvn_cmd copy tags mirror/ &&\n' span_id:110) 
          (Token id:Id.Lit_Chars val:'\tsvn_cmd copy branches mirror/ &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\tsvn_cmd ci -m "made mirror" ) &&\n' span_id:112) 
          (Token id:Id.Lit_Chars val:'\trm -rf svn &&\n' span_id:113) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror &&\n'
            span_id: 114
          ) (Token id:Id.Lit_Chars val:'\tgit svn fetch -R mirror &&\n' span_id:115) 
          (Token id:Id.Lit_Chars val:'\tgit checkout mirror/trunk &&\n' span_id:116) (Token id:Id.Lit_Chars val:'\tbase=$(git rev-parse HEAD:) &&\n' span_id:117) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit svn branch -m "branch in mirror" d &&\n'
            span_id: 118
          ) (Token id:Id.Lit_Chars val:'\ttest $base = $(git rev-parse remotes/mirror/d:) &&\n' span_id:119) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rev-parse remotes/d\n'
            span_id: 120
          )
        )
      }
    )
    (C {(test_done)})
  ]
)