blob: 07735410b9536ba7639134c7ca0cda4f486f8291 [file] [log] [blame]
Junio C Hamanob7986712007-08-14 15:33:07 -07001#!/bin/sh
2
3test_description='ask merge-recursive to merge binary files'
4
5. ./test-lib.sh
6
7test_expect_success setup '
8
Vitaliy Ivanovb5967f82011-07-19 20:21:47 +03009 cat "$TEST_DIRECTORY"/test-binary-1.png >m &&
Junio C Hamanob7986712007-08-14 15:33:07 -070010 git add m &&
11 git ls-files -s | sed -e "s/ 0 / 1 /" >E1 &&
12 test_tick &&
13 git commit -m "initial" &&
14
15 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
25 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
32 git tag anchor &&
33
34 cat E0 E1 E2 E3 >expect
35'
36
37test_expect_success resolve '
38
39 rm -f a* m* &&
40 git reset --hard anchor &&
41
42 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
Jeff King82ebb0b2008-03-12 17:36:36 -040048 test_cmp current expect
Junio C Hamanob7986712007-08-14 15:33:07 -070049 fi
50'
51
52test_expect_success recursive '
53
54 rm -f a* m* &&
55 git reset --hard anchor &&
56
57 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
Jeff King82ebb0b2008-03-12 17:36:36 -040063 test_cmp current expect
Junio C Hamanob7986712007-08-14 15:33:07 -070064 fi
65'
66
67test_done