(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git svn property tests'>)}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (C {(test_expect_success)} {(SQ <'setup test repository'>)} 
      {
        (SQ <'\n'> <'\tsvn_cmd co "$svnrepo" s &&\n'> <'\t(\n'> <'\t\tcd s &&\n'> 
          <'\t\tmkdir qqq www &&\n'> <'\t\techo test_qqq > qqq/test_qqq.txt &&\n'> <'\t\techo test_www > www/test_www.txt &&\n'> 
          <'\t\tsvn_cmd add qqq &&\n'> <'\t\tsvn_cmd add www &&\n'> <'\t\tsvn_cmd commit -m "create some files" &&\n'> <'\t\tsvn_cmd up &&\n'> 
          <'\t\techo hi >> www/test_www.txt &&\n'> <'\t\tsvn_cmd commit -m "modify www/test_www.txt" &&\n'> <'\t\tsvn_cmd up\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'clone an SVN repository with ignored www directory'>)} 
      {
        (SQ <'\n'> <'\tgit svn clone --ignore-paths="^www" "$svnrepo" g &&\n'> 
          <'\techo test_qqq > expect &&\n'> <'\tfor i in g/*/*.txt; do cat $i >> expect2; done &&\n'> <'\ttest_cmp expect expect2\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'init+fetch an SVN repository with ignored www directory'>)} 
      {
        (SQ <'\n'> <'\tgit svn init "$svnrepo" c &&\n'> 
          <'\t( cd c && git svn fetch --ignore-paths="^www" ) &&\n'> <'\trm expect2 &&\n'> <'\techo test_qqq > expect &&\n'> 
          <'\tfor i in c/*/*.txt; do cat $i >> expect2; done &&\n'> <'\ttest_cmp expect expect2\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'verify ignore-paths config saved by clone'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t    cd g &&\n'> 
          <'\t    git config --get svn-remote.svn.ignore-paths | fgrep "www"\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'SVN-side change outside of www'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd s &&\n'> <'\t\techo b >> qqq/test_qqq.txt &&\n'> 
          <'\t\tsvn_cmd commit -m "SVN-side change outside of www" &&\n'> <'\t\tsvn_cmd up &&\n'> <'\t\tsvn_cmd log -v | fgrep "SVN-side change outside of www"\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo (config ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd g &&\n'> <'\t\tgit svn rebase &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo (option ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --ignore-paths="^www" &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'SVN-side change inside of ignored www'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd s &&\n'> <'\t\techo zaq >> www/test_www.txt\n'> 
          <'\t\tsvn_cmd commit -m "SVN-side change inside of www/test_www.txt" &&\n'> <'\t\tsvn_cmd up &&\n'> <'\t\tsvn_cmd log -v | fgrep "SVN-side change inside of www/test_www.txt"\n'> 
          <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo (config ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd g &&\n'> <'\t\tgit svn rebase &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo (option ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --ignore-paths="^www" &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'SVN-side change in and out of ignored www'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd s &&\n'> <'\t\techo cvf >> www/test_www.txt\n'> 
          <'\t\techo ygg >> qqq/test_qqq.txt\n'> <'\t\tsvn_cmd commit -m "SVN-side change in and out of ignored www" &&\n'> <'\t\tsvn_cmd up &&\n'> 
          <'\t\tsvn_cmd log -v | fgrep "SVN-side change in and out of ignored www"\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo again (config ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd g &&\n'> <'\t\tgit svn rebase &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\nygg\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'update git svn-cloned repo again (option ignore)'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --ignore-paths="^www" &&\n'> 
          <'\t\tprintf "test_qqq\\nb\\nygg\\n" > expect &&\n'> <'\t\tfor i in */*.txt; do cat $i >> expect2; done &&\n'> <'\t\ttest_cmp expect2 expect &&\n'> 
          <'\t\trm expect expect2\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)