(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 ops: [Op_DAmp] children: [ (SimpleCommand words: [ {(git)} {(diff)} {(-c)} {(--name-only)} {(HEAD)} {(HEAD) (Lit_Other '^')} {(HEAD) (Lit_Other '^') (2)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(diffc.actual)} spids: [46] ) ] ) (C {(test_cmp)} {(diffc.expect)} {(diffc.actual)}) ] ) ] 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)}) ] )