(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)})
  ]
)