#!/bin/sh # # Copyright (c) 2007 Eric Wong # global test_description := ''git svn tracking removed top-level path'' source ./lib-git-svn.sh test_expect_success 'make history for tracking' ' mkdir import && mkdir import/trunk && echo hello >> import/trunk/README && svn_cmd import -m initial import "$svnrepo" && rm -rf import && svn_cmd co "$svnrepo"/trunk trunk && echo bye bye >> trunk/README && svn_cmd rm -m "gone" "$svnrepo"/trunk && rm -rf trunk && mkdir trunk && echo "new" > trunk/FOLLOWME && svn_cmd import -m "new trunk" trunk "$svnrepo"/trunk ' test_expect_success 'clone repo with git' ' git svn clone -s "$svnrepo" x && test_path_is_file x/FOLLOWME && test_path_is_missing x/README ' test_expect_success 'make sure r2 still has old file' ' ( cd x && test -n "$(git svn find-rev r1)" && git reset --hard "$(git svn find-rev r1)" && test_path_is_file README && test_path_is_missing FOLLOWME && test -z "$(git svn find-rev r2)" ) ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git svn tracking removed top-level path">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ <"make history for tracking">)} { (SQ <"\n"> <"\tmkdir import &&\n"> <"\tmkdir import/trunk &&\n"> <"\techo hello >> import/trunk/README &&\n"> <"\tsvn_cmd import -m initial import \"$svnrepo\" &&\n"> <"\trm -rf import &&\n"> <"\tsvn_cmd co \"$svnrepo\"/trunk trunk &&\n"> <"\techo bye bye >> trunk/README &&\n"> <"\tsvn_cmd rm -m \"gone\" \"$svnrepo\"/trunk &&\n"> <"\trm -rf trunk &&\n"> <"\tmkdir trunk &&\n"> <"\techo \"new\" > trunk/FOLLOWME &&\n"> <"\tsvn_cmd import -m \"new trunk\" trunk \"$svnrepo\"/trunk\n"> ) } ) (C {(test_expect_success)} {(SQ <"clone repo with git">)} { (SQ <"\n"> <"\tgit svn clone -s \"$svnrepo\" x &&\n"> <"\ttest_path_is_file x/FOLLOWME &&\n"> <"\ttest_path_is_missing x/README\n"> ) } ) (C {(test_expect_success)} {(SQ <"make sure r2 still has old file">)} { (SQ <"\n"> <"\t(\n"> <"\t\tcd x &&\n"> <"\t\ttest -n \"$(git svn find-rev r1)\" &&\n"> <"\t\tgit reset --hard \"$(git svn find-rev r1)\" &&\n"> <"\t\ttest_path_is_file README &&\n"> <"\t\ttest_path_is_missing FOLLOWME &&\n"> <"\t\ttest -z \"$(git svn find-rev r2)\"\n"> <"\t)\n"> ) } ) (C {(test_done)}) ] )