(List
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('test_description', {[SQ <LIT_CHARS "git merge\n"> <LIT_CHARS "\n"> <LIT_CHARS "Testing the resolve strategy.">]})])
  (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}  )
  (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS setup>]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\techo c0 > c0.c &&\n"> <LIT_CHARS "\tgit add c0.c &&\n"> <LIT_CHARS "\tgit commit -m c0 &&\n"> <LIT_CHARS "\tgit tag c0 &&\n"> <LIT_CHARS "\techo c1 > c1.c &&\n"> <LIT_CHARS "\tgit add c1.c &&\n"> <LIT_CHARS "\tgit commit -m c1 &&\n"> <LIT_CHARS "\tgit tag c1 &&\n"> <LIT_CHARS "\tgit reset --hard c0 &&\n"> <LIT_CHARS "\techo c2 > c2.c &&\n"> <LIT_CHARS "\tgit add c2.c &&\n"> <LIT_CHARS "\tgit commit -m c2 &&\n"> <LIT_CHARS "\tgit tag c2 &&\n"> <LIT_CHARS "\tgit reset --hard c0 &&\n"> <LIT_CHARS "\techo c3 > c2.c &&\n"> <LIT_CHARS "\tgit add c2.c &&\n"> <LIT_CHARS "\tgit commit -m c3 &&\n"> <LIT_CHARS "\tgit tag c3\n">]}  )
  (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "merge c1 to c2">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tgit reset --hard c1 &&\n"> <LIT_CHARS "\tgit merge -s resolve c2 &&\n"> <LIT_CHARS "\ttest \"$(git rev-parse c1)\" != \"$(git rev-parse HEAD)\" &&\n"> <LIT_CHARS "\ttest \"$(git rev-parse c1)\" = \"$(git rev-parse HEAD^1)\" &&\n"> <LIT_CHARS "\ttest \"$(git rev-parse c2)\" = \"$(git rev-parse HEAD^2)\" &&\n"> <LIT_CHARS "\tgit diff --exit-code &&\n"> <LIT_CHARS "\ttest -f c0.c &&\n"> <LIT_CHARS "\ttest -f c1.c &&\n"> <LIT_CHARS "\ttest -f c2.c &&\n"> <LIT_CHARS "\ttest 3 = $(git ls-tree -r HEAD | wc -l) &&\n"> <LIT_CHARS "\ttest 3 = $(git ls-files | wc -l)\n">]}  )
  (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "merge c2 to c3 (fails)">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tgit reset --hard c2 &&\n"> <LIT_CHARS "\ttest_must_fail git merge -s resolve c3\n">]}  )
  (Com {[LIT_CHARS test_done]}  )
)