(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 reset' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup test repository' span_id:26))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\tsvn_cmd co "$svnrepo" s &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\t(\n' span_id:32) (Token id:Id.Lit_Chars val:'\t\tcd s &&\n' span_id:33) 
          (Token id:Id.Lit_Chars val:'\t\tmkdir vis &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\t\techo always visible > vis/vis.txt &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add vis &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "create visible files" &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\t\tmkdir hid &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\techo initially hidden > hid/hid.txt &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add hid &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "create initially hidden files" &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\t\techo mod >> vis/vis.txt &&\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "modify vis" &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:46)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone SVN repository with hidden directory' span_id:53))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\tgit svn init "$svnrepo" g &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\t( cd g && git svn fetch --ignore-paths="^hid" )\n' span_id:59)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'modify hidden file in SVN repo' span_id:66))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:70) 
          (Token id:Id.Lit_Chars val:'\t( cd s &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\t  echo mod hidden >> hid/hid.txt &&\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\t  svn_cmd commit -m "modify hid" &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t  svn_cmd up\n' span_id:74) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:75)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'fetch fails on modified hidden file' span_id:82))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:86) 
          (Token id:Id.Lit_Chars val:'\t( cd g &&\n' span_id:87) (Token id:Id.Lit_Chars val:'\t  git svn find-rev refs/remotes/git-svn > ../expect &&\n' span_id:88) 
          (Token
            id: Id.Lit_Chars
            val: '\t  test_must_fail git svn fetch 2> ../errors &&\n'
            span_id: 89
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t  git svn find-rev refs/remotes/git-svn > ../expect2 ) &&\n'
            span_id: 90
          ) (Token id:Id.Lit_Chars val:'\tfgrep "not found in commit" errors &&\n' span_id:91) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect expect2\n' span_id:92)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset unwinds back to r1' span_id:99))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:103) 
          (Token id:Id.Lit_Chars val:'\t( cd g &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\t  git svn reset -r1 &&\n' span_id:105) 
          (Token
            id: Id.Lit_Chars
            val: '\t  git svn find-rev refs/remotes/git-svn > ../expect2 ) &&\n'
            span_id: 106
          ) (Token id:Id.Lit_Chars val:'\techo 1 >expect &&\n' span_id:107) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect expect2\n' span_id:108)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'refetch succeeds not ignoring any files' span_id:115))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:119) 
          (Token id:Id.Lit_Chars val:'\t( cd g &&\n' span_id:120) (Token id:Id.Lit_Chars val:'\t  git svn fetch &&\n' span_id:121) 
          (Token id:Id.Lit_Chars val:'\t  git svn rebase &&\n' span_id:122) (Token id:Id.Lit_Chars val:'\t  fgrep "mod hidden" hid/hid.txt\n' span_id:123) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:124)
        )
      }
    )
    (C {(test_done)})
  ]
)