(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'git svn mergeinfo propagation' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'initialize source svn repo' span_id:27))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:31) (Token id: Id.Lit_Chars val: '\tsvn_cmd mkdir -m x "$svnrepo"/trunk &&\n' span_id: 32 ) (Token id:Id.Lit_Chars val:'\tsvn_cmd co "$svnrepo"/trunk "$SVN_TREE" &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\t(\n' span_id:34) (Token id:Id.Lit_Chars val:'\t\tcd "$SVN_TREE" &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\t\ttouch foo &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add foo &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "initial commit"\n' span_id:38) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\trm -rf "$SVN_TREE"\n' span_id:40) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone svn repo' span_id:47))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:51) (Token id:Id.Lit_Chars val:'\tgit svn init "$svnrepo"/trunk &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit svn fetch\n' span_id:53) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'change svn:mergeinfo' span_id:60))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:64) (Token id:Id.Lit_Chars val:'\ttouch bar &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\tgit add bar &&\n' span_id:66) (Token id:Id.Lit_Chars val:'\tgit commit -m "bar" &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\tgit svn dcommit --mergeinfo="/branches/foo:1-10"\n' span_id:68) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'verify svn:mergeinfo' span_id:75))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:79) (Token id: Id.Lit_Chars val: '\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk) &&\n' span_id: 80 ) (Token id:Id.Lit_Chars val:'\ttest "$mergeinfo" = "/branches/foo:1-10"\n' span_id:81) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'change svn:mergeinfo multiline' span_id:88))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:92) (Token id:Id.Lit_Chars val:'\ttouch baz &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\tgit add baz &&\n' span_id:94) (Token id:Id.Lit_Chars val:'\tgit commit -m "baz" &&\n' span_id:95) (Token id: Id.Lit_Chars val: '\tgit svn dcommit --mergeinfo="/branches/bar:1-10 /branches/other:3-5,8,10-11"\n' span_id: 96 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'verify svn:mergeinfo multiline' span_id:103))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:107) (Token id: Id.Lit_Chars val: '\tmergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk) &&\n' span_id: 108 ) (Token id:Id.Lit_Chars val:'\ttest "$mergeinfo" = "/branches/bar:1-10\n' span_id:109) (Token id:Id.Lit_Chars val:'/branches/other:3-5,8,10-11"\n' span_id:110) ) } ) (C {(test_done)}) ] )