(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"combined diff show only paths that are different to all parents">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (FuncDef name: diffc_verify body: (BraceGroup children: [ (AndOr children: [ (SimpleCommand words: [ {(git)} {(diff)} {(-c)} {(--name-only)} {(HEAD)} {(HEAD) (Lit_Other "^")} {(HEAD) (Lit_Other "^") (2)} ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(diffc.actual)} spids:[46])] ) (C {(test_cmp)} {(diffc.expect)} {(diffc.actual)}) ] op_id: Op_DAmp ) ] spids: [26] ) spids: [21 25] ) (C {(test_expect_success)} {(SQ <"trivial merge - combine-diff empty">)} { (SQ <"\n"> <"\tfor i in $(test_seq 1 9)\n"> <"\tdo\n"> <"\t\techo $i >$i.txt\t&&\n"> <"\t\tgit add $i.txt\n"> <"\tdone &&\n"> <"\tgit commit -m \"init\" &&\n"> <"\tgit checkout -b side &&\n"> <"\tfor i in $(test_seq 2 9)\n"> <"\tdo\n"> <"\t\techo $i/2 >>$i.txt\n"> <"\tdone &&\n"> <"\tgit commit -a -m \"side 2-9\" &&\n"> <"\tgit checkout master &&\n"> <"\techo 1/2 >1.txt &&\n"> <"\tgit commit -a -m \"master 1\" &&\n"> <"\tgit merge side &&\n"> <"\t>diffc.expect &&\n"> <"\tdiffc_verify\n"> ) } ) (C {(test_expect_success)} {(SQ <"only one trully conflicting path">)} { (SQ <"\n"> <"\tgit checkout side &&\n"> <"\tfor i in $(test_seq 2 9)\n"> <"\tdo\n"> <"\t\techo $i/3 >>$i.txt\n"> <"\tdone &&\n"> <"\techo \"4side\" >>4.txt &&\n"> <"\tgit commit -a -m \"side 2-9 +4\" &&\n"> <"\tgit checkout master &&\n"> <"\tfor i in $(test_seq 1 9)\n"> <"\tdo\n"> <"\t\techo $i/3 >>$i.txt\n"> <"\tdone &&\n"> <"\techo \"4master\" >>4.txt &&\n"> <"\tgit commit -a -m \"master 1-9 +4\" &&\n"> <"\ttest_must_fail git merge side &&\n"> <"\tcat <<-\\EOF >4.txt &&\n"> <"\t4\n"> <"\t4/2\n"> <"\t4/3\n"> <"\t4master\n"> <"\t4side\n"> <"\tEOF\n"> <"\tgit add 4.txt &&\n"> <"\tgit commit -m \"merge side (2)\" &&\n"> <"\techo 4.txt >diffc.expect &&\n"> <"\tdiffc_verify\n"> ) } ) (C {(test_expect_success)} {(SQ <"merge introduces new file">)} { (SQ <"\n"> <"\tgit checkout side &&\n"> <"\tfor i in $(test_seq 5 9)\n"> <"\tdo\n"> <"\t\techo $i/4 >>$i.txt\n"> <"\tdone &&\n"> <"\tgit commit -a -m \"side 5-9\" &&\n"> <"\tgit checkout master &&\n"> <"\tfor i in $(test_seq 1 3)\n"> <"\tdo\n"> <"\t\techo $i/4 >>$i.txt\n"> <"\tdone &&\n"> <"\tgit commit -a -m \"master 1-3 +4hello\" &&\n"> <"\tgit merge side &&\n"> <"\techo \"Hello World\" >4hello.txt &&\n"> <"\tgit add 4hello.txt &&\n"> <"\tgit commit --amend &&\n"> <"\techo 4hello.txt >diffc.expect &&\n"> <"\tdiffc_verify\n"> ) } ) (C {(test_expect_success)} {(SQ <"merge removed a file">)} { (SQ <"\n"> <"\tgit checkout side &&\n"> <"\tfor i in $(test_seq 5 9)\n"> <"\tdo\n"> <"\t\techo $i/5 >>$i.txt\n"> <"\tdone &&\n"> <"\tgit commit -a -m \"side 5-9\" &&\n"> <"\tgit checkout master &&\n"> <"\tfor i in $(test_seq 1 3)\n"> <"\tdo\n"> <"\t\techo $i/4 >>$i.txt\n"> <"\tdone &&\n"> <"\tgit commit -a -m \"master 1-3\" &&\n"> <"\tgit merge side &&\n"> <"\tgit rm 4.txt &&\n"> <"\tgit commit --amend &&\n"> <"\techo 4.txt >diffc.expect &&\n"> <"\tdiffc_verify\n"> ) } ) (C {(test_done)}) ] )