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