(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.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'> ) } ) ] ) (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'>)} ) (command.FuncDef name: clean_branchnames body: (command.BraceGroup children:[(C {(sed)} {(SQ <'s/^\\([<>]\\{5,\\}\\) .*$/\\1/'>)})]) ) (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)}) ] )