(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'git-svn svn mergeinfo propagation'>)} spids: [16] ) ] spids: [16] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ <'load svn dump'>)} { (DQ ('\n') ("\tsvnadmin load -q '") ($ VSub_Name '$rawsvnrepo') ("' ") ("\t < '") ($ VSub_Name '$TEST_DIRECTORY') ("/t9161/branches.dump' &&\n") ('\tgit svn init --minimize-url -R svnmerge ') ("\t -T trunk -b branches '") ($ VSub_Name '$svnrepo') ("' &&\n") ('\tgit svn fetch --all\n') ('\t') ) } ) (C {(test_expect_success)} {(SQ <'propagate merge information'>)} { (SQ <'\n'> <'\tgit config svn.pushmergeinfo yes &&\n'> <'\tgit checkout origin/svnb1 &&\n'> <'\tgit merge --no-ff origin/svnb2 &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'check svn:mergeinfo'>)} { (SQ <'\n'> <'\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&\n'> <'\ttest "$mergeinfo" = "/branches/svnb2:3,8"\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'merge another branch'>)} {(SQ <'\n'> <'\tgit merge --no-ff origin/svnb3 &&\n'> <'\tgit svn dcommit\n'> <'\t'>)} ) (C {(test_expect_success)} {(SQ <'check primary parent mergeinfo respected'>)} { (SQ <'\n'> <'\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&\n'> <'\ttest "$mergeinfo" = "/branches/svnb2:3,8\n'> <'/branches/svnb3:4,9"\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'merge existing merge'>)} {(SQ <'\n'> <'\tgit merge --no-ff origin/svnb4 &&\n'> <'\tgit svn dcommit\n'> <'\t'>)} ) (C {(test_expect_success)} {(DQ ("check both parents' mergeinfo respected"))} { (SQ <'\n'> <'\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&\n'> <'\ttest "$mergeinfo" = "/branches/svnb2:3,8\n'> <'/branches/svnb3:4,9\n'> <'/branches/svnb4:5-6,10-12\n'> <'/branches/svnb5:6,11"\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'make further commits to branch'>)} { (SQ <'\n'> <'\tgit checkout origin/svnb2 &&\n'> <'\ttouch newb2file &&\n'> <'\tgit add newb2file &&\n'> <'\tgit commit -m "later b2 commit" &&\n'> <'\ttouch newb2file-2 &&\n'> <'\tgit add newb2file-2 &&\n'> <'\tgit commit -m "later b2 commit 2" &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'second forward merge'>)} { (SQ <'\n'> <'\tgit checkout origin/svnb1 &&\n'> <'\tgit merge --no-ff origin/svnb2 &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'check new mergeinfo added'>)} { (SQ <'\n'> <'\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1) &&\n'> <'\ttest "$mergeinfo" = "/branches/svnb2:3,8,16-17\n'> <'/branches/svnb3:4,9\n'> <'/branches/svnb4:5-6,10-12\n'> <'/branches/svnb5:6,11"\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'reintegration merge'>)} { (SQ <'\n'> <'\tgit checkout origin/svnb4 &&\n'> <'\tgit merge --no-ff origin/svnb1 &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'check reintegration mergeinfo'>)} { (SQ <'\n'> <'\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb4) &&\n'> <'\ttest "$mergeinfo" = "/branches/svnb1:2-4,7-9,13-18\n'> <'/branches/svnb2:3,8,16-17\n'> <'/branches/svnb3:4,9\n'> <'/branches/svnb5:6,11"\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'dcommit a merge at the top of a stack'>)} { (SQ <'\n'> <'\tgit checkout origin/svnb1 &&\n'> <'\ttouch anotherfile &&\n'> <'\tgit add anotherfile &&\n'> <'\tgit commit -m "a commit" &&\n'> <'\tgit merge origin/svnb4 &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {(test_done)}) ] )