]> git.ipfire.org Git - thirdparty/git.git/blame - t/t4214-log-graph-octopus.sh
Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
[thirdparty/git.git] / t / t4214-log-graph-octopus.sh
CommitLineData
04005834
NP
1#!/bin/sh
2
3test_description='git log --graph of skewed left octopus merge.'
4
5. ./test-lib.sh
989eea95
AK
6. "$TEST_DIRECTORY"/lib-log-graph.sh
7
8test_cmp_graph () {
9 cat >expect &&
10 lib_test_cmp_graph --color=never --date-order --format=%s "$@"
11}
04005834 12
ffe00557
AK
13test_cmp_colored_graph () {
14 lib_test_cmp_colored_graph --date-order --format=%s "$@"
15}
16
04005834 17test_expect_success 'set up merge history' '
63be8c8d
DL
18 test_commit initial &&
19 for i in 1 2 3 4 ; do
20 git checkout master -b $i || return $?
21 # Make tag name different from branch name, to avoid
22 # ambiguity error when calling checkout.
23 test_commit $i $i $i tag$i || return $?
24 done &&
25 git checkout 1 -b merge &&
26 test_merge octopus-merge 1 2 3 4 &&
11c21f22 27 test_commit after-merge &&
63be8c8d 28 git checkout 1 -b L &&
11c21f22
DL
29 test_commit left &&
30 git checkout 4 -b crossover &&
31 test_commit after-4 &&
32 git checkout initial -b more-L &&
33 test_commit after-initial
63be8c8d
DL
34'
35
36test_expect_success 'log --graph with tricky octopus merge, no color' '
989eea95 37 test_cmp_graph left octopus-merge <<-\EOF
04005834 38 * left
0f0f389f
JC
39 | *-. octopus-merge
40 |/|\ \
04005834
NP
41 | | | * 4
42 | | * | 3
43 | | |/
479db18b 44 | * / 2
04005834 45 | |/
479db18b 46 * / 1
04005834
NP
47 |/
48 * initial
49 EOF
63be8c8d
DL
50'
51
52test_expect_success 'log --graph with tricky octopus merge with colors' '
53 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
04005834
NP
54 cat >expect.colors <<-\EOF &&
55 * left
0f0f389f
JC
56 <RED>|<RESET> *<MAGENTA>-<RESET><MAGENTA>.<RESET> octopus-merge
57 <RED>|<RESET><RED>/<RESET><YELLOW>|<RESET><BLUE>\<RESET> <MAGENTA>\<RESET>
04005834
NP
58 <RED>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 4
59 <RED>|<RESET> <YELLOW>|<RESET> * <MAGENTA>|<RESET> 3
60 <RED>|<RESET> <YELLOW>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET>
479db18b 61 <RED>|<RESET> * <MAGENTA>/<RESET> 2
04005834 62 <RED>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET>
479db18b 63 * <MAGENTA>/<RESET> 1
04005834
NP
64 <MAGENTA>|<RESET><MAGENTA>/<RESET>
65 * initial
66 EOF
ffe00557 67 test_cmp_colored_graph left octopus-merge
04005834
NP
68'
69
04005834
NP
70# Repeat the previous two tests with "normal" octopus merge (i.e.,
71# without the first parent skewing to the "left" branch column).
72
73test_expect_success 'log --graph with normal octopus merge, no color' '
989eea95 74 test_cmp_graph octopus-merge <<-\EOF
04005834
NP
75 *---. octopus-merge
76 |\ \ \
77 | | | * 4
78 | | * | 3
79 | | |/
479db18b 80 | * / 2
04005834 81 | |/
479db18b 82 * / 1
04005834
NP
83 |/
84 * initial
85 EOF
04005834
NP
86'
87
88test_expect_success 'log --graph with normal octopus merge with colors' '
89 cat >expect.colors <<-\EOF &&
90 *<YELLOW>-<RESET><YELLOW>-<RESET><BLUE>-<RESET><BLUE>.<RESET> octopus-merge
91 <RED>|<RESET><GREEN>\<RESET> <YELLOW>\<RESET> <BLUE>\<RESET>
92 <RED>|<RESET> <GREEN>|<RESET> <YELLOW>|<RESET> * 4
93 <RED>|<RESET> <GREEN>|<RESET> * <BLUE>|<RESET> 3
94 <RED>|<RESET> <GREEN>|<RESET> <BLUE>|<RESET><BLUE>/<RESET>
479db18b 95 <RED>|<RESET> * <BLUE>/<RESET> 2
04005834 96 <RED>|<RESET> <BLUE>|<RESET><BLUE>/<RESET>
479db18b 97 * <BLUE>/<RESET> 1
04005834
NP
98 <BLUE>|<RESET><BLUE>/<RESET>
99 * initial
100 EOF
101 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
ffe00557 102 test_cmp_colored_graph octopus-merge
04005834 103'
11c21f22
DL
104
105test_expect_success 'log --graph with normal octopus merge and child, no color' '
989eea95 106 test_cmp_graph after-merge <<-\EOF
11c21f22
DL
107 * after-merge
108 *---. octopus-merge
109 |\ \ \
110 | | | * 4
111 | | * | 3
112 | | |/
479db18b 113 | * / 2
11c21f22 114 | |/
479db18b 115 * / 1
11c21f22
DL
116 |/
117 * initial
118 EOF
11c21f22
DL
119'
120
bbb13e81 121test_expect_success 'log --graph with normal octopus and child merge with colors' '
11c21f22
DL
122 cat >expect.colors <<-\EOF &&
123 * after-merge
124 *<BLUE>-<RESET><BLUE>-<RESET><MAGENTA>-<RESET><MAGENTA>.<RESET> octopus-merge
125 <GREEN>|<RESET><YELLOW>\<RESET> <BLUE>\<RESET> <MAGENTA>\<RESET>
126 <GREEN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 4
127 <GREEN>|<RESET> <YELLOW>|<RESET> * <MAGENTA>|<RESET> 3
128 <GREEN>|<RESET> <YELLOW>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET>
479db18b 129 <GREEN>|<RESET> * <MAGENTA>/<RESET> 2
11c21f22 130 <GREEN>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET>
479db18b 131 * <MAGENTA>/<RESET> 1
11c21f22
DL
132 <MAGENTA>|<RESET><MAGENTA>/<RESET>
133 * initial
134 EOF
135 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
ffe00557 136 test_cmp_colored_graph after-merge
11c21f22
DL
137'
138
139test_expect_success 'log --graph with tricky octopus merge and its child, no color' '
989eea95 140 test_cmp_graph left after-merge <<-\EOF
11c21f22
DL
141 * left
142 | * after-merge
0f0f389f
JC
143 | *-. octopus-merge
144 |/|\ \
11c21f22
DL
145 | | | * 4
146 | | * | 3
147 | | |/
479db18b 148 | * / 2
11c21f22 149 | |/
479db18b 150 * / 1
11c21f22
DL
151 |/
152 * initial
153 EOF
11c21f22
DL
154'
155
bbb13e81 156test_expect_success 'log --graph with tricky octopus merge and its child with colors' '
11c21f22
DL
157 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
158 cat >expect.colors <<-\EOF &&
159 * left
160 <RED>|<RESET> * after-merge
0f0f389f
JC
161 <RED>|<RESET> *<CYAN>-<RESET><CYAN>.<RESET> octopus-merge
162 <RED>|<RESET><RED>/<RESET><BLUE>|<RESET><MAGENTA>\<RESET> <CYAN>\<RESET>
11c21f22
DL
163 <RED>|<RESET> <BLUE>|<RESET> <MAGENTA>|<RESET> * 4
164 <RED>|<RESET> <BLUE>|<RESET> * <CYAN>|<RESET> 3
165 <RED>|<RESET> <BLUE>|<RESET> <CYAN>|<RESET><CYAN>/<RESET>
479db18b 166 <RED>|<RESET> * <CYAN>/<RESET> 2
11c21f22 167 <RED>|<RESET> <CYAN>|<RESET><CYAN>/<RESET>
479db18b 168 * <CYAN>/<RESET> 1
11c21f22
DL
169 <CYAN>|<RESET><CYAN>/<RESET>
170 * initial
171 EOF
ffe00557 172 test_cmp_colored_graph left after-merge
11c21f22
DL
173'
174
175test_expect_success 'log --graph with crossover in octopus merge, no color' '
989eea95 176 test_cmp_graph after-4 octopus-merge <<-\EOF
11c21f22
DL
177 * after-4
178 | *---. octopus-merge
179 | |\ \ \
180 | |_|_|/
181 |/| | |
182 * | | | 4
183 | | | * 3
184 | |_|/
185 |/| |
186 | | * 2
187 | |/
188 |/|
189 | * 1
190 |/
191 * initial
192 EOF
11c21f22
DL
193'
194
bbb13e81 195test_expect_success 'log --graph with crossover in octopus merge with colors' '
11c21f22
DL
196 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
197 cat >expect.colors <<-\EOF &&
198 * after-4
199 <RED>|<RESET> *<BLUE>-<RESET><BLUE>-<RESET><RED>-<RESET><RED>.<RESET> octopus-merge
200 <RED>|<RESET> <GREEN>|<RESET><YELLOW>\<RESET> <BLUE>\<RESET> <RED>\<RESET>
201 <RED>|<RESET> <GREEN>|<RESET><RED>_<RESET><YELLOW>|<RESET><RED>_<RESET><BLUE>|<RESET><RED>/<RESET>
202 <RED>|<RESET><RED>/<RESET><GREEN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET>
203 * <GREEN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> 4
204 <MAGENTA>|<RESET> <GREEN>|<RESET> <YELLOW>|<RESET> * 3
205 <MAGENTA>|<RESET> <GREEN>|<RESET><MAGENTA>_<RESET><YELLOW>|<RESET><MAGENTA>/<RESET>
206 <MAGENTA>|<RESET><MAGENTA>/<RESET><GREEN>|<RESET> <YELLOW>|<RESET>
207 <MAGENTA>|<RESET> <GREEN>|<RESET> * 2
208 <MAGENTA>|<RESET> <GREEN>|<RESET><MAGENTA>/<RESET>
209 <MAGENTA>|<RESET><MAGENTA>/<RESET><GREEN>|<RESET>
210 <MAGENTA>|<RESET> * 1
211 <MAGENTA>|<RESET><MAGENTA>/<RESET>
212 * initial
213 EOF
ffe00557 214 test_cmp_colored_graph after-4 octopus-merge
11c21f22
DL
215'
216
217test_expect_success 'log --graph with crossover in octopus merge and its child, no color' '
989eea95 218 test_cmp_graph after-4 after-merge <<-\EOF
11c21f22
DL
219 * after-4
220 | * after-merge
221 | *---. octopus-merge
222 | |\ \ \
223 | |_|_|/
224 |/| | |
225 * | | | 4
226 | | | * 3
227 | |_|/
228 |/| |
229 | | * 2
230 | |/
231 |/|
232 | * 1
233 |/
234 * initial
235 EOF
11c21f22
DL
236'
237
bbb13e81 238test_expect_success 'log --graph with crossover in octopus merge and its child with colors' '
11c21f22
DL
239 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
240 cat >expect.colors <<-\EOF &&
241 * after-4
242 <RED>|<RESET> * after-merge
243 <RED>|<RESET> *<MAGENTA>-<RESET><MAGENTA>-<RESET><RED>-<RESET><RED>.<RESET> octopus-merge
244 <RED>|<RESET> <YELLOW>|<RESET><BLUE>\<RESET> <MAGENTA>\<RESET> <RED>\<RESET>
245 <RED>|<RESET> <YELLOW>|<RESET><RED>_<RESET><BLUE>|<RESET><RED>_<RESET><MAGENTA>|<RESET><RED>/<RESET>
246 <RED>|<RESET><RED>/<RESET><YELLOW>|<RESET> <BLUE>|<RESET> <MAGENTA>|<RESET>
247 * <YELLOW>|<RESET> <BLUE>|<RESET> <MAGENTA>|<RESET> 4
248 <CYAN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 3
249 <CYAN>|<RESET> <YELLOW>|<RESET><CYAN>_<RESET><BLUE>|<RESET><CYAN>/<RESET>
250 <CYAN>|<RESET><CYAN>/<RESET><YELLOW>|<RESET> <BLUE>|<RESET>
251 <CYAN>|<RESET> <YELLOW>|<RESET> * 2
252 <CYAN>|<RESET> <YELLOW>|<RESET><CYAN>/<RESET>
253 <CYAN>|<RESET><CYAN>/<RESET><YELLOW>|<RESET>
254 <CYAN>|<RESET> * 1
255 <CYAN>|<RESET><CYAN>/<RESET>
256 * initial
257 EOF
ffe00557 258 test_cmp_colored_graph after-4 after-merge
11c21f22
DL
259'
260
261test_expect_success 'log --graph with unrelated commit and octopus tip, no color' '
989eea95 262 test_cmp_graph after-initial octopus-merge <<-\EOF
11c21f22
DL
263 * after-initial
264 | *---. octopus-merge
265 | |\ \ \
266 | | | | * 4
267 | |_|_|/
268 |/| | |
269 | | | * 3
270 | |_|/
271 |/| |
272 | | * 2
273 | |/
274 |/|
275 | * 1
276 |/
277 * initial
278 EOF
11c21f22
DL
279'
280
281test_expect_success 'log --graph with unrelated commit and octopus tip with colors' '
282 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
283 cat >expect.colors <<-\EOF &&
284 * after-initial
285 <RED>|<RESET> *<BLUE>-<RESET><BLUE>-<RESET><MAGENTA>-<RESET><MAGENTA>.<RESET> octopus-merge
286 <RED>|<RESET> <GREEN>|<RESET><YELLOW>\<RESET> <BLUE>\<RESET> <MAGENTA>\<RESET>
287 <RED>|<RESET> <GREEN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 4
288 <RED>|<RESET> <GREEN>|<RESET><RED>_<RESET><YELLOW>|<RESET><RED>_<RESET><BLUE>|<RESET><RED>/<RESET>
289 <RED>|<RESET><RED>/<RESET><GREEN>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET>
290 <RED>|<RESET> <GREEN>|<RESET> <YELLOW>|<RESET> * 3
291 <RED>|<RESET> <GREEN>|<RESET><RED>_<RESET><YELLOW>|<RESET><RED>/<RESET>
292 <RED>|<RESET><RED>/<RESET><GREEN>|<RESET> <YELLOW>|<RESET>
293 <RED>|<RESET> <GREEN>|<RESET> * 2
294 <RED>|<RESET> <GREEN>|<RESET><RED>/<RESET>
295 <RED>|<RESET><RED>/<RESET><GREEN>|<RESET>
296 <RED>|<RESET> * 1
297 <RED>|<RESET><RED>/<RESET>
298 * initial
299 EOF
ffe00557 300 test_cmp_colored_graph after-initial octopus-merge
11c21f22
DL
301'
302
303test_expect_success 'log --graph with unrelated commit and octopus child, no color' '
989eea95 304 test_cmp_graph after-initial after-merge <<-\EOF
11c21f22
DL
305 * after-initial
306 | * after-merge
307 | *---. octopus-merge
308 | |\ \ \
309 | | | | * 4
310 | |_|_|/
311 |/| | |
312 | | | * 3
313 | |_|/
314 |/| |
315 | | * 2
316 | |/
317 |/|
318 | * 1
319 |/
320 * initial
321 EOF
11c21f22
DL
322'
323
bbb13e81 324test_expect_success 'log --graph with unrelated commit and octopus child with colors' '
11c21f22
DL
325 test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
326 cat >expect.colors <<-\EOF &&
327 * after-initial
328 <RED>|<RESET> * after-merge
329 <RED>|<RESET> *<MAGENTA>-<RESET><MAGENTA>-<RESET><CYAN>-<RESET><CYAN>.<RESET> octopus-merge
330 <RED>|<RESET> <YELLOW>|<RESET><BLUE>\<RESET> <MAGENTA>\<RESET> <CYAN>\<RESET>
331 <RED>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> <MAGENTA>|<RESET> * 4
332 <RED>|<RESET> <YELLOW>|<RESET><RED>_<RESET><BLUE>|<RESET><RED>_<RESET><MAGENTA>|<RESET><RED>/<RESET>
333 <RED>|<RESET><RED>/<RESET><YELLOW>|<RESET> <BLUE>|<RESET> <MAGENTA>|<RESET>
334 <RED>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 3
335 <RED>|<RESET> <YELLOW>|<RESET><RED>_<RESET><BLUE>|<RESET><RED>/<RESET>
336 <RED>|<RESET><RED>/<RESET><YELLOW>|<RESET> <BLUE>|<RESET>
337 <RED>|<RESET> <YELLOW>|<RESET> * 2
338 <RED>|<RESET> <YELLOW>|<RESET><RED>/<RESET>
339 <RED>|<RESET><RED>/<RESET><YELLOW>|<RESET>
340 <RED>|<RESET> * 1
341 <RED>|<RESET><RED>/<RESET>
342 * initial
343 EOF
ffe00557 344 test_cmp_colored_graph after-initial after-merge
11c21f22
DL
345'
346
04005834 347test_done