(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <"checkout -m -- <conflicted path>\n"> <"\n"> 
                <"Ensures that checkout -m on a resolved file restores the conflicted file">
              )
            }
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ <"\n"> <"\ttest_tick &&\n"> <"\ttest_commit both.txt both.txt initial &&\n"> 
          <"\tgit branch topic &&\n"> <"\ttest_commit modified_in_master both.txt in_master &&\n"> 
          <"\ttest_commit added_in_master each.txt in_master &&\n"> <"\tgit checkout topic &&\n"> <"\ttest_commit modified_in_topic both.txt in_topic &&\n"> 
          <"\ttest_commit added_in_topic each.txt in_topic\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"git merge master">)} 
      {(SQ <"\n"> <"    test_must_fail git merge master\n">)}
    )
    (FuncDef
      name: clean_branchnames
      body: (BraceGroup children:[(C {(sed)} {(SQ <"s/^\\([<>]\\{5,\\}\\) .*$/\\1/">)})] spids:[51])
      spids: [46 50]
    )
    (C {(test_expect_success)} {(SQ <"-m restores 2-way conflicted+resolved file">)} 
      {
        (SQ <"\n"> <"\tcp each.txt each.txt.conflicted &&\n"> <"\techo resolved >each.txt &&\n"> 
          <"\tgit add each.txt &&\n"> <"\tgit checkout -m -- each.txt &&\n"> <"\tclean_branchnames <each.txt >each.txt.cleaned &&\n"> 
          <"\tclean_branchnames <each.txt.conflicted >each.txt.conflicted.cleaned &&\n"> <"\ttest_cmp each.txt.conflicted.cleaned each.txt.cleaned\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"-m restores 3-way conflicted+resolved file">)} 
      {
        (SQ <"\n"> <"\tcp both.txt both.txt.conflicted &&\n"> <"\techo resolved >both.txt &&\n"> 
          <"\tgit add both.txt &&\n"> <"\tgit checkout -m -- both.txt &&\n"> <"\tclean_branchnames <both.txt >both.txt.cleaned &&\n"> 
          <"\tclean_branchnames <both.txt.conflicted >both.txt.conflicted.cleaned &&\n"> <"\ttest_cmp both.txt.conflicted.cleaned both.txt.cleaned\n">
        )
      }
    )
    (C {(test_done)})
  ]
)