(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description) op: assign_op.Equal rhs: {(SQ <'git svn property tests'>)} spids: [13] ) ] redirects: [] ) (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 xxx &&\n'> <'\t\techo test_qqq > qqq/test_qqq.txt &&\n'> <'\t\techo test_www > www/test_www.txt &&\n'> <'\t\techo test_xxx > xxx/test_xxx.txt &&\n'> <'\t\tsvn_cmd add qqq &&\n'> <'\t\tsvn_cmd add www &&\n'> <'\t\tsvn_cmd add xxx &&\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 filter to include qqq directory'>)} { (SQ <'\n'> <'\tgit svn clone --include-paths="qqq" "$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 included qqq directory'>)} { (SQ <'\n'> <'\tgit svn init "$svnrepo" c &&\n'> <'\t( cd c && git svn fetch --include-paths="qqq" ) &&\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 include-paths config saved by clone'>)} { (SQ <'\n'> <'\t(\n'> <'\t cd g &&\n'> <'\t git config --get svn-remote.svn.include-paths | fgrep "qqq"\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 include)'>)} { (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 include)'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --include-paths="qqq" &&\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 include)'>)} { (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 include)'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --include-paths="qqq" &&\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 included qqq'>)} { (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 include)'>)} { (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 include)'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd c &&\n'> <'\t\tgit svn rebase --include-paths="qqq" &&\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>}) ] )