(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:'test auto-generated merge messages' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShFunction name: check_oneline body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [{(sed)} {(DQ ("s/Q/'/g"))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:35) fd: -1 arg_word: {(expect)} ) ] ) ] negated: F ) (command.Simple words: [ {(git)} {(log)} {(-1)} {(--pretty) (Id.Lit_Equals '=') (tformat) (Id.Lit_Other ':') (Id.Lit_Other '%') (s)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:54) fd: -1 arg_word: {(actual)} ) ] ) (C {(test_cmp)} {(expect)} {(actual)}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge local branch' span_id:72))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:76) (Token id:Id.Lit_Chars val:'\ttest_commit master-1 &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\tgit checkout -b local-branch &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\ttest_commit branch-1 &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:80) (Token id:Id.Lit_Chars val:'\ttest_commit master-2 &&\n' span_id:81) (Token id:Id.Lit_Chars val:'\tgit merge local-branch &&\n' span_id:82) (Token id: Id.Lit_Chars val: '\tcheck_oneline "Merge branch Qlocal-branchQ"\n' span_id: 83 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge octopus branches' span_id:90))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:94) (Token id:Id.Lit_Chars val:'\tgit checkout -b octopus-a master &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\ttest_commit octopus-1 &&\n' span_id:96) (Token id:Id.Lit_Chars val:'\tgit checkout -b octopus-b master &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\ttest_commit octopus-2 &&\n' span_id:98) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\tgit merge octopus-a octopus-b &&\n' span_id:100) (Token id: Id.Lit_Chars val: '\tcheck_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"\n' span_id: 101 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge tag' span_id:108))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:112) (Token id: Id.Lit_Chars val: '\tgit checkout -b tag-branch master &&\n' span_id: 113 ) (Token id:Id.Lit_Chars val:'\ttest_commit tag-1 &&\n' span_id:114) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\ttest_commit master-3 &&\n' span_id:116) (Token id:Id.Lit_Chars val:'\tgit merge tag-1 &&\n' span_id:117) (Token id:Id.Lit_Chars val:'\tcheck_oneline "Merge tag Qtag-1Q"\n' span_id:118) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'ambiguous tag' span_id:125))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:129) (Token id:Id.Lit_Chars val:'\tgit checkout -b ambiguous master &&\n' span_id:130) (Token id:Id.Lit_Chars val:'\ttest_commit ambiguous &&\n' span_id:131) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:132) (Token id:Id.Lit_Chars val:'\ttest_commit master-4 &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit merge ambiguous &&\n' span_id:134) (Token id:Id.Lit_Chars val:'\tcheck_oneline "Merge tag QambiguousQ"\n' span_id:135) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'remote-tracking branch' span_id:142))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:146) (Token id:Id.Lit_Chars val:'\tgit checkout -b remote master &&\n' span_id:147) (Token id:Id.Lit_Chars val:'\ttest_commit remote-1 &&\n' span_id:148) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/remotes/origin/master remote &&\n' span_id: 149 ) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\ttest_commit master-5 &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\tgit merge origin/master &&\n' span_id:152) (Token id: Id.Lit_Chars val: '\tcheck_oneline "Merge remote-tracking branch Qorigin/masterQ"\n' span_id: 153 ) ) } ) (C {(test_done)}) ] )