#!/bin/sh global test_description := ''ask merge-recursive to merge binary files'' source ./test-lib.sh test_expect_success setup ' cat "$TEST_DIRECTORY"/test-binary-1.png >m && git add m && git ls-files -s | sed -e "s/ 0 / 1 /" >E1 && test_tick && git commit -m "initial" && git branch side && echo frotz >a && git add a && echo nitfol >>m && git add a m && git ls-files -s a >E0 && git ls-files -s m | sed -e "s/ 0 / 3 /" >E3 && test_tick && git commit -m "master adds some" && git checkout side && echo rezrov >>m && git add m && git ls-files -s m | sed -e "s/ 0 / 2 /" >E2 && test_tick && git commit -m "side modifies" && git tag anchor && cat E0 E1 E2 E3 >expect ' test_expect_success resolve ' rm -f a* m* && git reset --hard anchor && if git merge -s resolve master then echo Oops, should not have succeeded false else git ls-files -s >current test_cmp current expect fi ' test_expect_success recursive ' rm -f a* m* && git reset --hard anchor && if git merge -s recursive master then echo Oops, should not have succeeded false else git ls-files -s >current test_cmp current expect fi ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"ask merge-recursive to merge binary files">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\n"> <"\tcat \"$TEST_DIRECTORY\"/test-binary-1.png >m &&\n"> <"\tgit add m &&\n"> <"\tgit ls-files -s | sed -e \"s/ 0\t/ 1\t/\" >E1 &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m \"initial\" &&\n"> <"\n"> <"\tgit branch side &&\n"> <"\techo frotz >a &&\n"> <"\tgit add a &&\n"> <"\techo nitfol >>m &&\n"> <"\tgit add a m &&\n"> <"\tgit ls-files -s a >E0 &&\n"> <"\tgit ls-files -s m | sed -e \"s/ 0\t/ 3\t/\" >E3 &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m \"master adds some\" &&\n"> <"\n"> <"\tgit checkout side &&\n"> <"\techo rezrov >>m &&\n"> <"\tgit add m &&\n"> <"\tgit ls-files -s m | sed -e \"s/ 0\t/ 2\t/\" >E2 &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m \"side modifies\" &&\n"> <"\n"> <"\tgit tag anchor &&\n"> <"\n"> <"\tcat E0 E1 E2 E3 >expect\n"> ) } ) (C {(test_expect_success)} {(resolve)} { (SQ <"\n"> <"\n"> <"\trm -f a* m* &&\n"> <"\tgit reset --hard anchor &&\n"> <"\n"> <"\tif git merge -s resolve master\n"> <"\tthen\n"> <"\t\techo Oops, should not have succeeded\n"> <"\t\tfalse\n"> <"\telse\n"> <"\t\tgit ls-files -s >current\n"> <"\t\ttest_cmp current expect\n"> <"\tfi\n"> ) } ) (C {(test_expect_success)} {(recursive)} { (SQ <"\n"> <"\n"> <"\trm -f a* m* &&\n"> <"\tgit reset --hard anchor &&\n"> <"\n"> <"\tif git merge -s recursive master\n"> <"\tthen\n"> <"\t\techo Oops, should not have succeeded\n"> <"\t\tfalse\n"> <"\telse\n"> <"\t\tgit ls-files -s >current\n"> <"\t\ttest_cmp current expect\n"> <"\tfi\n"> ) } ) (C {(test_done)}) ] )