(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git apply --build-fake-ancestor handling.">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <"\n"> <"\ttest_commit 1 &&\n"> <"\ttest_commit 2 &&\n"> <"\tmkdir sub &&\n"> <"\ttest_commit 3 sub/3.t &&\n"> <"\ttest_commit 4\n"> ) } ) (C {(test_expect_success)} {(SQ <"apply --build-fake-ancestor">)} { (SQ <"\n"> <"\tgit checkout 2 &&\n"> <"\techo \"A\" > 1.t &&\n"> <"\tgit diff > 1.patch &&\n"> <"\tgit reset --hard &&\n"> <"\tgit checkout 1 &&\n"> <"\tgit apply --build-fake-ancestor 1.ancestor 1.patch\n"> ) } ) (C {(test_expect_success)} {(SQ <"apply --build-fake-ancestor in a subdirectory">)} { (SQ <"\n"> <"\tgit checkout 3 &&\n"> <"\techo \"C\" > sub/3.t &&\n"> <"\tgit diff > 3.patch &&\n"> <"\tgit reset --hard &&\n"> <"\tgit checkout 4 &&\n"> <"\t(\n"> <"\t\tcd sub &&\n"> <"\t\tgit apply --build-fake-ancestor 3.ancestor ../3.patch &&\n"> <"\t\ttest -f 3.ancestor\n"> <"\t) &&\n"> <"\tgit apply --build-fake-ancestor 3.ancestor 3.patch &&\n"> <"\ttest_cmp sub/3.ancestor 3.ancestor\n"> ) } ) (C {(test_done)}) ] )