(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'combined diff show only paths that are different to all parents'>)} ) ] ) (C {(.)} {(./test-lib.sh)}) (command.FuncDef name: diffc_verify body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (command.SimpleCommand words: [ {(git)} {(diff)} {(-c)} {(--name-only)} {(HEAD)} {(HEAD) (Lit_Other '^')} {(HEAD) (Lit_Other '^') (2)} ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(diffc.actual)})] ) (C {(test_cmp)} {(diffc.expect)} {(diffc.actual)}) ] ) ] ) ) (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)}) ] )