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