]> git.ipfire.org Git - thirdparty/git.git/blob - t/t6407-merge-binary.sh
Merge branch 'ab/detox-gettext-tests'
[thirdparty/git.git] / t / t6407-merge-binary.sh
1 #!/bin/sh
2
3 test_description='ask merge-recursive to merge binary files'
4
5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
7
8 . ./test-lib.sh
9
10 test_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
40 test_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
55 test_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
70 test_done