1#!/bin/sh 2 3test_description='ask merge-recursive to merge binary files' 4 5GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 8. ./test-lib.sh 9 10test_expect_success setup ' 11 12 cat "$TEST_DIRECTORY"/test-binary-1.png >m && 13 git add m && 14 git ls-files -s | sed -e "s/ 0 / 1 /" >E1 && 15 test_tick && 16 git commit -m "initial" && 17 18 git branch side && 19 echo frotz >a && 20 git add a && 21 echo nitfol >>m && 22 git add a m && 23 git ls-files -s a >E0 && 24 git ls-files -s m | sed -e "s/ 0 / 3 /" >E3 && 25 test_tick && 26 git commit -m "main adds some" && 27 28 git checkout side && 29 echo rezrov >>m && 30 git add m && 31 git ls-files -s m | sed -e "s/ 0 / 2 /" >E2 && 32 test_tick && 33 git commit -m "side modifies" && 34 35 git tag anchor && 36 37 cat E0 E1 E2 E3 >expect 38' 39 40test_expect_success resolve ' 41 42 rm -f a* m* && 43 git reset --hard anchor && 44 45 if git merge -s resolve main 46 then 47 echo Oops, should not have succeeded 48 false 49 else 50 git ls-files -s >current 51 test_cmp expect current 52 fi 53' 54 55test_expect_success recursive ' 56 57 rm -f a* m* && 58 git reset --hard anchor && 59 60 if git merge -s recursive main 61 then 62 echo Oops, should not have succeeded 63 false 64 else 65 git ls-files -s >current 66 test_cmp expect current 67 fi 68' 69 70test_done 71