(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git blame on conflicted files'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup first case'>)}
        {
          (SQ <'\n'> <'\t# Create the old file\n'> <'\techo "Old line" > file1 &&\n'> 
            <'\tgit add file1 &&\n'> <'\tgit commit --author "Old Line <ol@localhost>" -m file1.a &&\n'> <'\n'> <'\t# Branch\n'> 
            <'\tgit checkout -b foo &&\n'> <'\n'> <'\t# Do an ugly move and change\n'> <'\tgit rm file1 &&\n'> 
            <'\techo "New line ..."  > file2 &&\n'> <'\techo "... and more" >> file2 &&\n'> <'\tgit add file2 &&\n'> 
            <'\tgit commit --author "U Gly <ug@localhost>" -m ugly &&\n'> <'\n'> <'\t# Back to master and change something\n'> <'\tgit checkout master &&\n'> <'\techo "\n'> <'\n'> 
            <'bla" >> file1 &&\n'> <'\tgit commit --author "Old Line <ol@localhost>" -a -m file1.b &&\n'> <'\n'> 
            <'\t# Back to foo and merge master\n'> <'\tgit checkout foo &&\n'> <'\tif git merge master; then\n'> <'\t\techo needed conflict here\n'> 
            <'\t\texit 1\n'> <'\telse\n'> <'\t\techo merge failed - resolving automatically\n'> <'\tfi &&\n'> 
            <'\techo "New line ...\n'> <'... and more\n'> <'\n'> <'bla\n'> <'Even more" > file2 &&\n'> <'\tgit rm file1 &&\n'> 
            <'\tgit commit --author "M Result <mr@localhost>" -a -m merged &&\n'> <'\n'> <'\t# Back to master and change file1 again\n'> <'\tgit checkout master &&\n'> 
            <'\tsed s/bla/foo/ <file1 >X &&\n'> <'\trm file1 &&\n'> <'\tmv X file1 &&\n'> 
            <'\tgit commit --author "No Bla <nb@localhost>" -a -m replace &&\n'> <'\n'> <'\t# Try to merge into foo again\n'> <'\tgit checkout foo &&\n'> 
            <'\tif git merge master; then\n'> <'\t\techo needed conflict here\n'> <'\t\texit 1\n'> <'\telse\n'> 
            <'\t\techo merge failed - test is setup\n'> <'\tfi\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'blame runs on unconflicted file while other file has conflicts'>)}
        {(SQ <'\n'> <'\tgit blame file2\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'blame does not crash with conflicted file in stages 1,3'>)}
        {(SQ <'\n'> <'\tgit blame file1\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)