3 test_description
='git merge
5 Testing octopus merge with more than 25 refs.'
7 TEST_PASSES_SANITIZE_LEAK
=true
10 test_expect_success
'setup' '
18 git reset --hard c0 &&
23 i=$(expr $i + 1) || return 1
27 test_expect_success
'merge c1 with c2, c3, c4, ... c29' '
28 git reset --hard c1 &&
34 i=$(expr $i + 1) || return 1
37 test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
41 test "$(git rev-parse c$i)" = "$(git rev-parse HEAD^$i)" &&
42 i=$(expr $i + 1) || return 1
44 git diff --exit-code &&
49 i=$(expr $i + 1) || return 1
54 Trying simple merge with c2
55 Trying simple merge with c3
56 Trying simple merge with c4
57 Merge made by the
'octopus' strategy.
61 3 files changed
, 3 insertions
(+)
62 create mode
100644 c2.c
63 create mode
100644 c3.c
64 create mode
100644 c4.c
67 test_expect_success
'merge output uses pretty names' '
68 git reset --hard c1 &&
69 git merge c2 c3 c4 >actual &&
70 test_cmp expected actual
74 Merge made by the
'recursive' strategy.
76 1 file changed
, 1 insertion
(+)
77 create mode
100644 c5.c
80 test_expect_success
'merge reduces irrelevant remote heads' '
81 if test "$GIT_TEST_MERGE_ALGORITHM" = ort
83 mv expected expected.tmp &&
84 sed s/recursive/ort/ expected.tmp >expected &&
87 GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&
88 test_cmp expected actual
92 Fast-forwarding to
: c1
93 Trying simple merge with c2
94 Merge made by the
'octopus' strategy.
97 2 files changed
, 2 insertions
(+)
98 create mode
100644 c1.c
99 create mode
100644 c2.c
102 test_expect_success
'merge fast-forward output uses pretty names' '
103 git reset --hard c0 &&
104 git merge c1 c2 >actual &&
105 test_cmp expected actual