(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'git svn creates empty directories'>)} spids: [10] ) ] spids: [10] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ <'initialize repo'>)} { (SQ <'\n'> <'\tfor i in a b c d d/e d/e/f "weird file name"\n'> <'\tdo\n'> <'\t\tsvn_cmd mkdir -m "mkdir $i" "$svnrepo"/"$i"\n'> <'\tdone\n'> ) } ) (C {(test_expect_success)} {(SQ <clone>)} {(SQ <'git svn clone "$svnrepo" cloned'>)}) (C {(test_expect_success)} {(SQ <'empty directories exist'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\tfor i in a b c d d/e d/e/f "weird file name"\n'> <'\t\tdo\n'> <'\t\t\tif ! test -d "$i"\n'> <'\t\t\tthen\n'> <'\t\t\t\techo >&2 "$i does not exist"\n'> <'\t\t\t\texit 1\n'> <'\t\t\tfi\n'> <'\t\tdone\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'option automkdirs set to false'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tgit svn init "$svnrepo" cloned-no-mkdirs &&\n'> <'\t\tcd cloned-no-mkdirs &&\n'> <'\t\tgit config svn-remote.svn.automkdirs false &&\n'> <'\t\tgit svn fetch &&\n'> <'\t\tfor i in a b c d d/e d/e/f "weird file name"\n'> <'\t\tdo\n'> <'\t\t\tif test -d "$i"\n'> <'\t\t\tthen\n'> <'\t\t\t\techo >&2 "$i exists"\n'> <'\t\t\t\texit 1\n'> <'\t\t\tfi\n'> <'\t\tdone\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'more emptiness'>)} {(SQ <'\n'> <'\tsvn_cmd mkdir -m "bang bang" "$svnrepo"/"! !"\n'>)} ) (C {(test_expect_success)} {(SQ <'git svn rebase creates empty directory'>)} {(SQ <'\n'> <'\t( cd cloned && git svn rebase ) &&\n'> <'\ttest -d cloned/"! !"\n'>)} ) (C {(test_expect_success)} {(SQ <'git svn mkdirs recreates empty directories'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\trm -r * &&\n'> <'\t\tgit svn mkdirs &&\n'> <'\t\tfor i in a b c d d/e d/e/f "weird file name" "! !"\n'> <'\t\tdo\n'> <'\t\t\tif ! test -d "$i"\n'> <'\t\t\tthen\n'> <'\t\t\t\techo >&2 "$i does not exist"\n'> <'\t\t\t\texit 1\n'> <'\t\t\tfi\n'> <'\t\tdone\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git svn mkdirs -r works'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\trm -r * &&\n'> <'\t\tgit svn mkdirs -r7 &&\n'> <'\t\tfor i in a b c d d/e d/e/f "weird file name"\n'> <'\t\tdo\n'> <'\t\t\tif ! test -d "$i"\n'> <'\t\t\tthen\n'> <'\t\t\t\techo >&2 "$i does not exist"\n'> <'\t\t\t\texit 1\n'> <'\t\t\tfi\n'> <'\t\tdone\n'> <'\n'> <'\t\tif test -d "! !"\n'> <'\t\tthen\n'> <'\t\t\techo >&2 "$i should not exist"\n'> <'\t\t\texit 1\n'> <'\t\tfi\n'> <'\n'> <'\t\tgit svn mkdirs -r8 &&\n'> <'\t\tif ! test -d "! !"\n'> <'\t\tthen\n'> <'\t\t\techo >&2 "$i not exist"\n'> <'\t\t\texit 1\n'> <'\t\tfi\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'initialize trunk'>)} { (SQ <'\n'> <'\tfor i in trunk trunk/a trunk/"weird file name"\n'> <'\tdo\n'> <'\t\tsvn_cmd mkdir -m "mkdir $i" "$svnrepo"/"$i"\n'> <'\tdone\n'> ) } ) (C {(test_expect_success)} {(SQ <'clone trunk'>)} {(SQ <'git svn clone -s "$svnrepo" trunk'>)}) (C {(test_expect_success)} {(SQ <'empty directories in trunk exist'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd trunk &&\n'> <'\t\tfor i in a "weird file name"\n'> <'\t\tdo\n'> <'\t\t\tif ! test -d "$i"\n'> <'\t\t\tthen\n'> <'\t\t\t\techo >&2 "$i does not exist"\n'> <'\t\t\t\texit 1\n'> <'\t\t\tfi\n'> <'\t\tdone\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'remove a top-level directory from svn'>)} {(SQ <'\n'> <'\tsvn_cmd rm -m "remove d" "$svnrepo"/d\n'>)} ) (C {(test_expect_success)} {(SQ <'removed top-level directory does not exist'>)} {(SQ <'\n'> <'\tgit svn clone "$svnrepo" removed &&\n'> <'\ttest ! -e removed/d\n'> <'\n'>)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:unhandled) op: Equal rhs: {(.git/svn/refs/remotes/git-svn/unhandled.log)} spids: [252] ) ] spids: [252] ) (C {(test_expect_success)} {(SQ <'git svn gc-ed files work'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd removed &&\n'> <'\t\tgit svn gc &&\n'> <'\t\t: Compress::Zlib may not be available &&\n'> <'\t\tif test -f "$unhandled".gz\n'> <'\t\tthen\n'> <'\t\t\tsvn_cmd mkdir -m gz "$svnrepo"/gz &&\n'> <'\t\t\tgit reset --hard $(git rev-list HEAD | tail -1) &&\n'> <'\t\t\tgit svn rebase &&\n'> <'\t\t\ttest -f "$unhandled".gz &&\n'> <'\t\t\ttest -f "$unhandled" &&\n'> <'\t\t\tfor i in a b c "weird file name" gz "! !"\n'> <'\t\t\tdo\n'> <'\t\t\t\tif ! test -d "$i"\n'> <'\t\t\t\tthen\n'> <'\t\t\t\t\techo >&2 "$i does not exist"\n'> <'\t\t\t\t\texit 1\n'> <'\t\t\t\tfi\n'> <'\t\t\tdone\n'> <'\t\tfi\n'> <'\t)\n'> ) } ) (C {(test_done)}) ] )