(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 handling of root commits in merge ranges' span_id: 5 ) ) } spids: [3] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:svn_ver) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:15) command_list: (command.CommandList children: [(C {(svn)} {(--version)} {(--quiet)})] ) ) ) } spids: [13] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$svn_ver')} arms: [ (case_arm pat_list: [ {(0.) (Id.Lit_Star '*')} {(1.) (Id.Lit_LBracket '[') (0-4) (Id.Lit_RBracket ']') (.) (Id.Lit_Star '*')} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_all) op: assign_op.Equal rhs: { (DQ ('skipping git-svn test - SVN too old (') ($ Id.VSub_DollarName '$svn_ver') (')') ) } spids: [44] ) ] ) (C {(test_done)}) ] spids: [30 41 55 -1] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test handling of root commits in merge ranges' span_id:63))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:67) (Token id: Id.Lit_Chars val: '\tmkdir -p init/trunk init/branches init/tags &&\n' span_id: 68 ) (Token id:Id.Lit_Chars val:'\techo "r1" > init/trunk/file.txt &&\n' span_id:69) (Token id: Id.Lit_Chars val: '\tsvn_cmd import -m "initial import" init "$svnrepo" &&\n' span_id: 70 ) (Token id:Id.Lit_Chars val:'\tsvn_cmd co "$svnrepo" tmp &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\t(\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\tcd tmp &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t\techo "r2" > trunk/file.txt &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "Modify file.txt on trunk" &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd cp trunk@1 branches/a &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd commit -m "Create branch a from trunk r1" &&\n' span_id:77) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd propset svn:mergeinfo /trunk:1-2 branches/a &&\n' span_id: 78 ) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd commit -m "Fake merge of trunk r2 into branch a" &&\n' span_id: 79 ) (Token id:Id.Lit_Chars val:'\t\tmkdir branches/b &&\n' span_id:80) (Token id: Id.Lit_Chars val: '\t\techo "r5" > branches/b/file2.txt &&\n' span_id: 81 ) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd add branches/b &&\n' span_id:82) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd commit -m "Create branch b from thin air" &&\n' span_id: 83 ) (Token id:Id.Lit_Chars val:'\t\techo "r6" > branches/b/file2.txt &&\n' span_id:84) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd commit -m "Modify file2.txt on branch b" &&\n' span_id: 85 ) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd cp branches/b@5 branches/c &&\n' span_id:86) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd commit -m "Create branch c from branch b r5" &&\n' span_id: 87 ) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd propset svn:mergeinfo /branches/b:5-6 branches/c &&\n' span_id: 88 ) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd commit -m "Fake merge of branch b r6 into branch c"\n' span_id: 89 ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:90) (Token id:Id.Lit_Chars val:'\tgit svn init -s "$svnrepo" &&\n' span_id:91) (Token id:Id.Lit_Chars val:'\tgit svn fetch\n' span_id:92) (Token id:Id.Lit_Chars val:'\t' span_id:93) ) } ) (C {(test_done)}) ] )