(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description spids:[12])
          op: Equal
          rhs: {(SQ <'RCS merge replacement: merge-file'>)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(orig.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 40
          stdin_parts: [
            ('Dominus regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new1.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 63
          stdin_parts: [
            ('Dominus regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new2.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 82
          stdin_parts: [
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new3.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 102
          stdin_parts: [
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new4.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 120
          stdin_parts: [
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(printf)} {(DQ ('propter nomen suum.'))}]
      redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(new4.txt)})]
    )
    (C {(test_expect_success)} {(SQ <'merge with no changes'>)} 
      {
        (SQ <'\n'> <'\tcp orig.txt test.txt &&\n'> <'\tgit merge-file test.txt orig.txt orig.txt &&\n'> 
          <'\ttest_cmp test.txt orig.txt\n'>
        )
      }
    )
    (C {(cp)} {(new1.txt)} {(test.txt)})
    (C {(test_expect_success)} {(DQ ('merge without conflict'))} 
      {(DQ ('git merge-file test.txt orig.txt new2.txt'))}
    )
    (C {(test_expect_success)} {(SQ <'works in subdirectory'>)} 
      {
        (SQ <'\n'> <'\tmkdir dir &&\n'> <'\tcp new1.txt dir/a.txt &&\n'> 
          <'\tcp orig.txt dir/o.txt &&\n'> <'\tcp new2.txt dir/b.txt &&\n'> <'\t( cd dir && git merge-file a.txt o.txt b.txt ) &&\n'> 
          <'\ttest_path_is_missing a.txt\n'>
        )
      }
    )
    (C {(cp)} {(new1.txt)} {(test.txt)})
    (C {(test_expect_success)} {(DQ ('merge without conflict (--quiet)'))} 
      {(DQ ('git merge-file --quiet test.txt orig.txt new2.txt'))}
    )
    (C {(cp)} {(new1.txt)} {(test2.txt)})
    (C {(test_expect_failure)} {(DQ ('merge without conflict (missing LF at EOF)'))} 
      {(DQ ('git merge-file test2.txt orig.txt new4.txt'))}
    )
    (C {(test_expect_failure)} {(DQ ('merge result added missing LF'))} 
      {(DQ ('test_cmp test.txt test2.txt'))}
    )
    (C {(cp)} {(new4.txt)} {(test3.txt)})
    (C {(test_expect_success)} 
      {(DQ ('merge without conflict (missing LF at EOF, away from change in the other file)'))} {(DQ ('git merge-file --quiet test3.txt new2.txt new3.txt'))}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 269
          stdin_parts: [
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(printf)} {(DQ ('propter nomen suum.'))}]
      redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(expect.txt)})]
    )
    (C {(test_expect_success)} {(DQ ('merge does not add LF away of change'))} 
      {(DQ ('test_cmp test3.txt expect.txt'))}
    )
    (C {(cp)} {(test.txt)} {(backup.txt)})
    (C {(test_expect_success)} {(DQ ('merge with conflicts'))} 
      {(DQ ('test_must_fail git merge-file test.txt orig.txt new3.txt'))}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 338
          stdin_parts: [
            ('<<<<<<< test.txt\n')
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('=======\n')
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('>>>>>>> new3.txt\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('expected conflict markers'))} 
      {(DQ ('test_cmp test.txt expect.txt'))}
    )
    (C {(cp)} {(backup.txt)} {(test.txt)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 378
          stdin_parts: [
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('merge conflicting with --ours'))} 
      {(DQ ('git merge-file --ours test.txt orig.txt new3.txt && test_cmp test.txt expect.txt'))}
    )
    (C {(cp)} {(backup.txt)} {(test.txt)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 419
          stdin_parts: [
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('merge conflicting with --theirs'))} 
      {(DQ ('git merge-file --theirs test.txt orig.txt new3.txt && test_cmp test.txt expect.txt'))}
    )
    (C {(cp)} {(backup.txt)} {(test.txt)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 461
          stdin_parts: [
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('merge conflicting with --union'))} 
      {(DQ ('git merge-file --union test.txt orig.txt new3.txt && test_cmp test.txt expect.txt'))}
    )
    (C {(cp)} {(backup.txt)} {(test.txt)})
    (C {(test_expect_success)} {(DQ ('merge with conflicts, using -L'))} 
      {(DQ ('test_must_fail git merge-file -L 1 -L 2 test.txt orig.txt new3.txt'))}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect.txt)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 519
          stdin_parts: [
            ('<<<<<<< 1\n')
            ('Dominus regit me, et nihil mihi deerit.\n')
            ('=======\n')
            ('DOMINUS regit me,\n')
            ('et nihil mihi deerit.\n')
            ('>>>>>>> new3.txt\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam tu mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('expected conflict markers, with -L'))} 
      {(DQ ('test_cmp test.txt expect.txt'))}
    )
    (command.SimpleCommand
      words: [{(sed)} {(DQ ('s/ tu / TU /'))}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(new1.txt)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new5.txt)})
      ]
    )
    (C {(test_expect_success)} {(DQ ('conflict in removed tail'))} 
      {(DQ ('test_must_fail git merge-file -p orig.txt new1.txt new5.txt > out'))}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 585
          stdin_parts: [
            ('Dominus regit me,\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('<<<<<<< orig.txt\n')
            ('=======\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam TU mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
            ('>>>>>>> new5.txt\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(DQ ('expected conflict markers'))} {(DQ ('test_cmp expect out'))})
    (C {(test_expect_success)} {(SQ <'binary files cannot be merged'>)} 
      {
        (SQ <'\n'> <'\ttest_must_fail git merge-file -p \\\n'> 
          <'\t\torig.txt "$TEST_DIRECTORY"/test-binary-1.png new1.txt 2> merge.err &&\n'> <'\tgrep "Cannot merge binary files" merge.err\n'>
        )
      }
    )
    (command.SimpleCommand
      words: [
        {(sed)}
        {(-e)}
        {(DQ (s/deerit.) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('/deerit;/'))}
        {(-e)}
        {(DQ ('s/me;') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/me./))}
      ]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(new5.txt)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new6.txt)})
      ]
    )
    (command.SimpleCommand
      words: [
        {(sed)}
        {(-e)}
        {(DQ (s/deerit.) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('/deerit,/'))}
        {(-e)}
        {(DQ ('s/me;') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('/me,/'))}
      ]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(new5.txt)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new7.txt)})
      ]
    )
    (C {(test_expect_success)} {(SQ <'MERGE_ZEALOUS simplifies non-conflicts'>)} 
      {
        (SQ <'\n'> <'\n'> 
          <'\ttest_must_fail git merge-file -p new6.txt new5.txt new7.txt > output &&\n'> <'\ttest 1 = $(grep ======= < output | wc -l)\n'> <'\n'>
        )
      }
    )
    (command.Pipeline
      children: [
        (command.SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'s/deerit./&%%%%/'>)} {(-e)} {(DQ ('s/locavit,/locavit;/'))}]
          redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(new6.txt)})]
        )
        (command.SimpleCommand
          words: [{(tr)} {(SQ <'%'>)} {(SQ <'\\012'>)}]
          redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new8.txt)})]
        )
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (command.SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'s/deerit./&%%%%/'>)} {(-e)} {(DQ ('s/locavit,/locavit --/'))}]
          redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(new7.txt)})]
        )
        (command.SimpleCommand
          words: [{(tr)} {(SQ <'%'>)} {(SQ <'\\012'>)}]
          redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(new9.txt)})]
        )
      ]
      negated: F
    )
    (C {(test_expect_success)} {(SQ <ZEALOUS_ALNUM>)} 
      {
        (SQ <'\n'> <'\n'> <'\ttest_must_fail git merge-file -p \\\n'> 
          <'\t\tnew8.txt new5.txt new9.txt > merge.out &&\n'> <'\ttest 1 = $(grep ======= < merge.out | wc -l)\n'> <'\n'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 801
          stdin_parts: [
            ('Dominus regit me,\n')
            ('<<<<<<< new8.txt\n')
            ('et nihil mihi deerit;\n')
            ('\n')
            ('\n')
            ('\n')
            ('\n')
            ('In loco pascuae ibi me collocavit;\n')
            ('super aquam refectionis educavit me.\n')
            ('||||||| new5.txt\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('=======\n')
            ('et nihil mihi deerit,\n')
            ('\n')
            ('\n')
            ('\n')
            ('\n')
            ('In loco pascuae ibi me collocavit --\n')
            ('super aquam refectionis educavit me,\n')
            ('>>>>>>> new9.txt\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam TU mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'"diff3 -m" style output (1)'>)} 
      {
        (SQ <'\n'> <'\ttest_must_fail git merge-file -p --diff3 \\\n'> 
          <'\t\tnew8.txt new5.txt new9.txt >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'"diff3 -m" style output (2)'>)} 
      {
        (SQ <'\n'> <'\tgit config merge.conflictstyle diff3 &&\n'> 
          <'\ttest_must_fail git merge-file -p \\\n'> <'\t\tnew8.txt new5.txt new9.txt >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 869
          stdin_parts: [
            ('Dominus regit me,\n')
            ('<<<<<<<<<< new8.txt\n')
            ('et nihil mihi deerit;\n')
            ('\n')
            ('\n')
            ('\n')
            ('\n')
            ('In loco pascuae ibi me collocavit;\n')
            ('super aquam refectionis educavit me.\n')
            ('|||||||||| new5.txt\n')
            ('et nihil mihi deerit.\n')
            ('In loco pascuae ibi me collocavit,\n')
            ('super aquam refectionis educavit me;\n')
            ('==========\n')
            ('et nihil mihi deerit,\n')
            ('\n')
            ('\n')
            ('\n')
            ('\n')
            ('In loco pascuae ibi me collocavit --\n')
            ('super aquam refectionis educavit me,\n')
            ('>>>>>>>>>> new9.txt\n')
            ('animam meam convertit,\n')
            ('deduxit me super semitas jusitiae,\n')
            ('propter nomen suum.\n')
            ('Nam et si ambulavero in medio umbrae mortis,\n')
            ('non timebo mala, quoniam TU mecum es:\n')
            ('virga tua et baculus tuus ipsa me consolata sunt.\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'marker size'>)} 
      {
        (SQ <'\n'> <'\ttest_must_fail git merge-file -p --marker-size=10 \\\n'> 
          <'\t\tnew8.txt new5.txt new9.txt >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(printf)} {(DQ (line1) (Lit_Other '\\') (nline2) (Lit_Other '\\') (nline3))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(nolf-orig.txt)})]
    )
    (command.SimpleCommand
      words: [{(printf)} {(DQ (line1) (Lit_Other '\\') (nline2) (Lit_Other '\\') (nline3x))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(nolf-diff1.txt)})]
    )
    (command.SimpleCommand
      words: [{(printf)} {(DQ (line1) (Lit_Other '\\') (nline2) (Lit_Other '\\') (nline3y))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(nolf-diff2.txt)})]
    )
    (C {(test_expect_success)} {(SQ <'conflict at EOF without LF resolved by --ours'>)} 
      {
        (SQ <'git merge-file -p --ours nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >output.txt &&\n'> 
          <'\t printf "line1\\nline2\\nline3x" >expect.txt &&\n'> <'\t test_cmp expect.txt output.txt'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'conflict at EOF without LF resolved by --theirs'>)} 
      {
        (SQ 
          <
'git merge-file -p --theirs nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >output.txt &&\n'
          > <'\t printf "line1\\nline2\\nline3y" >expect.txt &&\n'> <'\t test_cmp expect.txt output.txt'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'conflict at EOF without LF resolved by --union'>)} 
      {
        (SQ 
          <
'git merge-file -p --union nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >output.txt &&\n'
          > <'\t printf "line1\\nline2\\nline3x\\nline3y" >expect.txt &&\n'> <'\t test_cmp expect.txt output.txt'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'conflict sections match existing line endings'>)} 
      {
        (SQ <'\n'> <'\tprintf "1\\\\r\\\\n2\\\\r\\\\n3" >crlf-orig.txt &&\n'> 
          <'\tprintf "1\\\\r\\\\n2\\\\r\\\\n4" >crlf-diff1.txt &&\n'> <'\tprintf "1\\\\r\\\\n2\\\\r\\\\n5" >crlf-diff2.txt &&\n'> 
          <'\ttest_must_fail git -c core.eol=crlf merge-file -p \\\n'> <'\t\tcrlf-diff1.txt crlf-orig.txt crlf-diff2.txt >crlf.txt &&\n'> 
          <'\ttest $(tr "\\015" Q <crlf.txt | grep "^[<=>].*Q$" | wc -l) = 3 &&\n'> <'\ttest $(tr "\\015" Q <crlf.txt | grep "[345]Q$" | wc -l) = 3 &&\n'> 
          <'\ttest_must_fail git -c core.eol=crlf merge-file -p \\\n'> <'\t\tnolf-diff1.txt nolf-orig.txt nolf-diff2.txt >nolf.txt &&\n'> 
          <'\ttest $(tr "\\015" Q <nolf.txt | grep "^[<=>].*Q$" | wc -l) = 0\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)