(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git svn partial-rebuild tests'>)}
          spids: [13]
        )
      ]
    )
    (C {<.>} {<'./lib-git-svn.sh'>})
    (C {<test_expect_success>} {(SQ <'initialize svnrepo'>)} 
      {
        (SQ <'\n'> <'\tmkdir import &&\n'> <'\t(\n'> <'\t\t(cd import &&\n'> 
          <'\t\tmkdir trunk branches tags &&\n'> <'\t\t(cd trunk &&\n'> <'\t\techo foo > foo\n'> <'\t\t) &&\n'> 
          <'\t\tsvn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null\n'> <'\t\t) &&\n'> <'\t\trm -rf import &&\n'> <'\t\tsvn_cmd co "$svnrepo"/trunk trunk &&\n'> 
          <'\t\t(cd trunk &&\n'> <'\t\techo bar >> foo &&\n'> <'\t\tsvn_cmd ci -m "updated trunk"\n'> <'\t\t) &&\n'> 
          <'\t\trm -rf trunk\n'> <'\t)\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'import into git'>)} 
      {
        (SQ <'\n'> <'\tgit svn init --stdlayout "$svnrepo" &&\n'> <'\tgit svn fetch &&\n'> 
          <'\tgit checkout remotes/origin/trunk\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'git svn branch tests'>)} 
      {
        (SQ <'\n'> <'\tgit svn branch a &&\n'> <'\tbase=$(git rev-parse HEAD:) &&\n'> 
          <'\ttest $base = $(git rev-parse remotes/origin/a:) &&\n'> <'\tgit svn branch -m "created branch b blah" b &&\n'> 
          <'\ttest $base = $(git rev-parse remotes/origin/b:) &&\n'> <'\ttest_must_fail git branch -m "no branchname" &&\n'> <'\tgit svn branch -n c &&\n'> 
          <'\ttest_must_fail git rev-parse remotes/origin/c &&\n'> <'\ttest_must_fail git svn branch a &&\n'> <'\tgit svn branch -t tag1 &&\n'> 
          <'\ttest $base = $(git rev-parse remotes/origin/tags/tag1:) &&\n'> <'\tgit svn branch --tag tag2 &&\n'> 
          <'\ttest $base = $(git rev-parse remotes/origin/tags/tag2:) &&\n'> <'\tgit svn tag tag3 &&\n'> <'\ttest $base = $(git rev-parse remotes/origin/tags/tag3:) &&\n'> 
          <'\tgit svn tag -m "created tag4 foo" tag4 &&\n'> <'\ttest $base = $(git rev-parse remotes/origin/tags/tag4:) &&\n'> 
          <'\ttest_must_fail git svn tag -m "no tagname" &&\n'> <'\tgit svn tag -n tag5 &&\n'> <'\ttest_must_fail git rev-parse remotes/origin/tags/tag5 &&\n'> 
          <'\ttest_must_fail git svn tag tag1\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch uses correct svn-remote'>)} 
      {
        (SQ <'\n'> <'\t(svn_cmd co "$svnrepo" svn &&\n'> <'\tcd svn &&\n'> <'\tmkdir mirror &&\n'> 
          <'\tsvn_cmd add mirror &&\n'> <'\tsvn_cmd copy trunk mirror/ &&\n'> <'\tsvn_cmd copy tags mirror/ &&\n'> 
          <'\tsvn_cmd copy branches mirror/ &&\n'> <'\tsvn_cmd ci -m "made mirror" ) &&\n'> <'\trm -rf svn &&\n'> 
          <'\tgit svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror &&\n'> <'\tgit svn fetch -R mirror &&\n'> <'\tgit checkout mirror/trunk &&\n'> 
          <'\tbase=$(git rev-parse HEAD:) &&\n'> <'\tgit svn branch -m "branch in mirror" d &&\n'> 
          <'\ttest $base = $(git rev-parse remotes/mirror/d:) &&\n'> <'\ttest_must_fail git rev-parse remotes/d\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)