5
. ./test-lib.sh
6
7
test_expect_success 'set up merge history' '
8
+ test_commit initial &&
9
+ for i in 1 2 3 4 ; do
10
+ git checkout master -b $i || return $?
11
+ # Make tag name different from branch name, to avoid
12
+ # ambiguity error when calling checkout.
13
+ test_commit $i $i $i tag$i || return $?
14
+ done &&
15
+ git checkout 1 -b merge &&
16
+ test_merge octopus-merge 1 2 3 4 &&
17
+ git checkout 1 -b L &&
18
+ test_commit left
19
+'
20
+
21
+test_expect_success 'log --graph with tricky octopus merge, no color' '
22
cat >expect.uncolored <<-\EOF &&
23
* left
24
| *---. octopus-merge
33
|/
34
* initial
35
EOF
36
+ git log --color=never --graph --date-order --pretty=tformat:%s --all >actual.raw &&
37
+ sed "s/ *\$//" actual.raw >actual &&
38
+ test_cmp expect.uncolored actual
39
+'
40
+
41
+test_expect_success 'log --graph with tricky octopus merge with colors' '
42
+ test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
43
cat >expect.colors <<-\EOF &&
44
* left
45
<RED>|<RESET> *<BLUE>-<RESET><BLUE>-<RESET><MAGENTA>-<RESET><MAGENTA>.<RESET> octopus-merge
54
<MAGENTA>|<RESET><MAGENTA>/<RESET>
55
* initial
56
EOF
36
- test_commit initial &&
37
- for i in 1 2 3 4 ; do
38
- git checkout master -b $i || return $?
39
- # Make tag name different from branch name, to avoid
40
- # ambiguity error when calling checkout.
41
- test_commit $i $i $i tag$i || return $?
42
- done &&
43
- git checkout 1 -b merge &&
44
- test_merge octopus-merge 1 2 3 4 &&
45
- git checkout 1 -b L &&
46
- test_commit left
47
-'
48
-
49
-test_expect_success 'log --graph with tricky octopus merge with colors' '
50
- test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
57
git log --color=always --graph --date-order --pretty=tformat:%s --all >actual.colors.raw &&
58
test_decode_color <actual.colors.raw | sed "s/ *\$//" >actual.colors &&
59
test_cmp expect.colors actual.colors
60
'
61
56
-test_expect_success 'log --graph with tricky octopus merge, no color' '
57
- git log --color=never --graph --date-order --pretty=tformat:%s --all >actual.raw &&
58
- sed "s/ *\$//" actual.raw >actual &&
59
- test_cmp expect.uncolored actual
60
-'
61
-
62
# Repeat the previous two tests with "normal" octopus merge (i.e.,
63
# without the first parent skewing to the "left" branch column).
64