(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 property tests' 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 qqq www xxx &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\t\techo test_qqq > qqq/test_qqq.txt &&\n' span_id:35) 
          (Token
            id: Id.Lit_Chars
            val: '\t\techo test_www > www/test_www.txt &&\n'
            span_id: 36
          ) (Token id:Id.Lit_Chars val:'\t\techo test_xxx > xxx/test_xxx.txt &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add qqq &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add www &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add xxx &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "create some 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 hi >> www/test_www.txt &&\n' span_id:43) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd commit -m "modify www/test_www.txt" &&\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 an SVN repository with filter to include qqq directory'
            span_id: 53
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit svn clone --include-paths="qqq" "$svnrepo" g &&\n'
            span_id: 58
          ) (Token id:Id.Lit_Chars val:'\techo test_qqq > expect &&\n' span_id:59) 
          (Token
            id: Id.Lit_Chars
            val: '\tfor i in g/*/*.txt; do cat $i >> expect2; done &&\n'
            span_id: 60
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect expect2\n' span_id:61)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'init+fetch an SVN repository with included qqq directory'
            span_id: 69
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:73) 
          (Token id:Id.Lit_Chars val:'\tgit svn init "$svnrepo" c &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\t( cd c && git svn fetch --include-paths="qqq" ) &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\trm expect2 &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\techo test_qqq > expect &&\n' span_id:77) 
          (Token
            id: Id.Lit_Chars
            val: '\tfor i in c/*/*.txt; do cat $i >> expect2; done &&\n'
            span_id: 78
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect expect2\n' span_id:79)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'verify include-paths config saved by clone' span_id:86))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:90) (Token id:Id.Lit_Chars val:'\t(\n' span_id:91) 
          (Token id:Id.Lit_Chars val:'\t    cd g &&\n' span_id:92) 
          (Token
            id: Id.Lit_Chars
            val: '\t    git config --get svn-remote.svn.include-paths | fgrep "qqq"\n'
            span_id: 93
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:94)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'SVN-side change outside of www' span_id:101))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:105) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:106) (Token id:Id.Lit_Chars val:'\t\tcd s &&\n' span_id:107) 
          (Token id:Id.Lit_Chars val:'\t\techo b >> qqq/test_qqq.txt &&\n' span_id:108) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "SVN-side change outside of www" &&\n' span_id:109) 
          (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:110) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd log -v | fgrep "SVN-side change outside of www"\n'
            span_id: 111
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:112)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'update git svn-cloned repo (config include)' span_id:119))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:123) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:124) (Token id:Id.Lit_Chars val:'\t\tcd g &&\n' span_id:125) 
          (Token id:Id.Lit_Chars val:'\t\tgit svn rebase &&\n' span_id:126) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\n" > expect &&\n' span_id:127) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 128
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:129) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:130) (Token id:Id.Lit_Chars val:'\t)\n' span_id:131)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'update git svn-cloned repo (option include)' span_id:138))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:142) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:143) (Token id:Id.Lit_Chars val:'\t\tcd c &&\n' span_id:144) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit svn rebase --include-paths="qqq" &&\n'
            span_id: 145
          ) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\n" > expect &&\n' span_id:146) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 147
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:148) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:149) (Token id:Id.Lit_Chars val:'\t)\n' span_id:150)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'SVN-side change inside of ignored www' span_id:157))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:161) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:162) (Token id:Id.Lit_Chars val:'\t\tcd s &&\n' span_id:163) 
          (Token id:Id.Lit_Chars val:'\t\techo zaq >> www/test_www.txt\n' span_id:164) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd commit -m "SVN-side change inside of www/test_www.txt" &&\n'
            span_id: 165
          ) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:166) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd log -v | fgrep "SVN-side change inside of www/test_www.txt"\n'
            span_id: 167
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:168)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'update git svn-cloned repo (config include)' span_id:175))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:179) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:180) (Token id:Id.Lit_Chars val:'\t\tcd g &&\n' span_id:181) 
          (Token id:Id.Lit_Chars val:'\t\tgit svn rebase &&\n' span_id:182) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\n" > expect &&\n' span_id:183) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 184
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:185) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:186) (Token id:Id.Lit_Chars val:'\t)\n' span_id:187)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'update git svn-cloned repo (option include)' span_id:194))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:198) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:199) (Token id:Id.Lit_Chars val:'\t\tcd c &&\n' span_id:200) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit svn rebase --include-paths="qqq" &&\n'
            span_id: 201
          ) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\n" > expect &&\n' span_id:202) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 203
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:204) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:205) (Token id:Id.Lit_Chars val:'\t)\n' span_id:206)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'SVN-side change in and out of included qqq' span_id:213))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:218) (Token id:Id.Lit_Chars val:'\t\tcd s &&\n' span_id:219) 
          (Token id:Id.Lit_Chars val:'\t\techo cvf >> www/test_www.txt\n' span_id:220) (Token id:Id.Lit_Chars val:'\t\techo ygg >> qqq/test_qqq.txt\n' span_id:221) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd commit -m "SVN-side change in and out of ignored www" &&\n'
            span_id: 222
          ) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:223) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd log -v | fgrep "SVN-side change in and out of ignored www"\n'
            span_id: 224
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:225)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'update git svn-cloned repo again (config include)'
            span_id: 232
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:236) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:237) (Token id:Id.Lit_Chars val:'\t\tcd g &&\n' span_id:238) 
          (Token id:Id.Lit_Chars val:'\t\tgit svn rebase &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\nygg\\n" > expect &&\n' span_id:240) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 241
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:242) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:243) (Token id:Id.Lit_Chars val:'\t)\n' span_id:244)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'update git svn-cloned repo again (option include)'
            span_id: 251
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:255) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:256) (Token id:Id.Lit_Chars val:'\t\tcd c &&\n' span_id:257) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit svn rebase --include-paths="qqq" &&\n'
            span_id: 258
          ) (Token id:Id.Lit_Chars val:'\t\tprintf "test_qqq\\nb\\nygg\\n" > expect &&\n' span_id:259) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'
            span_id: 260
          ) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect2 expect &&\n' span_id:261) 
          (Token id:Id.Lit_Chars val:'\t\trm expect expect2\n' span_id:262) (Token id:Id.Lit_Chars val:'\t)\n' span_id:263)
        )
      }
    )
    (C {(test_done)})
  ]
)