(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 rebase preserve merges\n' span_id:15) (Token id:Id.Lit_Chars val:'\n' span_id:16) (Token id: Id.Lit_Chars val: 'This test runs git rebase with preserve merges and ensures commits\n' span_id: 17 ) (Token id: Id.Lit_Chars val: 'dropped by the --cherry-pick flag have their childrens parents\n' span_id: 18 ) (Token id:Id.Lit_Chars val:'rewritten.\n' span_id:19) ) } spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:58))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:62) (Token id:Id.Lit_Chars val:'\ttest_commit A file1 &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\ttest_commit B file1 1 &&\n' span_id:64) (Token id:Id.Lit_Chars val:'\ttest_commit C file2 &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\ttest_commit D file1 2 &&\n' span_id:66) (Token id:Id.Lit_Chars val:'\ttest_commit E file3 &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\tgit checkout A &&\n' span_id:68) (Token id:Id.Lit_Chars val:'\ttest_commit F file4 &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\ttest_commit G file1 3 &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\ttest_commit H file5 &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tgit checkout F &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\ttest_commit I file6\n' span_id:73) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'skip same-resolution merges with -p' span_id:98))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:102) (Token id:Id.Lit_Chars val:'\tgit checkout H &&\n' span_id:103) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge E &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\ttest_commit L file1 23 &&\n' span_id:105) (Token id:Id.Lit_Chars val:'\tgit checkout I &&\n' span_id:106) (Token id:Id.Lit_Chars val:'\ttest_commit G2 file1 3 &&\n' span_id:107) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge E &&\n' span_id:108) (Token id:Id.Lit_Chars val:'\ttest_commit J file1 23 &&\n' span_id:109) (Token id:Id.Lit_Chars val:'\ttest_commit K file7 file7 &&\n' span_id:110) (Token id:Id.Lit_Chars val:'\tgit rebase -i -p L &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\ttest $(git rev-parse HEAD^^) = $(git rev-parse L) &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\ttest "23" = "$(cat file1)" &&\n' span_id:113) (Token id:Id.Lit_Chars val:'\ttest "I" = "$(cat file6)" &&\n' span_id:114) (Token id:Id.Lit_Chars val:'\ttest "file7" = "$(cat file7)"\n' span_id:115) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'keep different-resolution merges with -p' span_id:140))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:144) (Token id:Id.Lit_Chars val:'\tgit checkout H &&\n' span_id:145) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge E &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\ttest_commit L2 file1 23 &&\n' span_id:147) (Token id:Id.Lit_Chars val:'\tgit checkout I &&\n' span_id:148) (Token id:Id.Lit_Chars val:'\ttest_commit G3 file1 4 &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge E &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\ttest_commit J2 file1 24 &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\ttest_commit K2 file7 file7 &&\n' span_id:152) (Token id: Id.Lit_Chars val: '\ttest_must_fail git rebase -i -p L2 &&\n' span_id: 153 ) (Token id:Id.Lit_Chars val:'\techo 234 > file1 &&\n' span_id:154) (Token id:Id.Lit_Chars val:'\tgit add file1 &&\n' span_id:155) (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:156) (Token id: Id.Lit_Chars val: '\ttest $(git rev-parse HEAD^^^) = $(git rev-parse L2) &&\n' span_id: 157 ) (Token id:Id.Lit_Chars val:'\ttest "234" = "$(cat file1)" &&\n' span_id:158) (Token id:Id.Lit_Chars val:'\ttest "I" = "$(cat file6)" &&\n' span_id:159) (Token id:Id.Lit_Chars val:'\ttest "file7" = "$(cat file7)"\n' span_id:160) ) } ) (C {(test_done)}) ] )