]>
Commit | Line | Data |
---|---|---|
04005834 NP |
1 | #!/bin/sh |
2 | ||
3 | test_description='git log --graph of skewed left octopus merge.' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | test_expect_success 'set up merge history' ' | |
8 | cat >expect.uncolored <<-\EOF && | |
9 | * left | |
10 | | *---. octopus-merge | |
11 | | |\ \ \ | |
12 | |/ / / / | |
13 | | | | * 4 | |
14 | | | * | 3 | |
15 | | | |/ | |
16 | | * | 2 | |
17 | | |/ | |
18 | * | 1 | |
19 | |/ | |
20 | * initial | |
21 | EOF | |
22 | cat >expect.colors <<-\EOF && | |
23 | * left | |
24 | <RED>|<RESET> *<BLUE>-<RESET><BLUE>-<RESET><MAGENTA>-<RESET><MAGENTA>.<RESET> octopus-merge | |
25 | <RED>|<RESET> <RED>|<RESET><YELLOW>\<RESET> <BLUE>\<RESET> <MAGENTA>\<RESET> | |
26 | <RED>|<RESET><RED>/<RESET> <YELLOW>/<RESET> <BLUE>/<RESET> <MAGENTA>/<RESET> | |
27 | <RED>|<RESET> <YELLOW>|<RESET> <BLUE>|<RESET> * 4 | |
28 | <RED>|<RESET> <YELLOW>|<RESET> * <MAGENTA>|<RESET> 3 | |
29 | <RED>|<RESET> <YELLOW>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET> | |
30 | <RED>|<RESET> * <MAGENTA>|<RESET> 2 | |
31 | <RED>|<RESET> <MAGENTA>|<RESET><MAGENTA>/<RESET> | |
32 | * <MAGENTA>|<RESET> 1 | |
33 | <MAGENTA>|<RESET><MAGENTA>/<RESET> | |
34 | * initial | |
35 | 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_tick && | |
45 | git merge -m octopus-merge 1 2 3 4 && | |
46 | git checkout 1 -b L && | |
47 | test_commit left | |
48 | ' | |
49 | ||
50 | test_expect_success 'log --graph with tricky octopus merge with colors' ' | |
51 | test_config log.graphColors red,green,yellow,blue,magenta,cyan && | |
52 | git log --color=always --graph --date-order --pretty=tformat:%s --all >actual.colors.raw && | |
53 | test_decode_color <actual.colors.raw | sed "s/ *\$//" >actual.colors && | |
54 | test_cmp expect.colors actual.colors | |
55 | ' | |
56 | ||
57 | test_expect_success 'log --graph with tricky octopus merge, no color' ' | |
58 | git log --color=never --graph --date-order --pretty=tformat:%s --all >actual.raw && | |
59 | sed "s/ *\$//" actual.raw >actual && | |
60 | test_cmp expect.uncolored actual | |
61 | ' | |
62 | ||
63 | # Repeat the previous two tests with "normal" octopus merge (i.e., | |
64 | # without the first parent skewing to the "left" branch column). | |
65 | ||
66 | test_expect_success 'log --graph with normal octopus merge, no color' ' | |
67 | cat >expect.uncolored <<-\EOF && | |
68 | *---. octopus-merge | |
69 | |\ \ \ | |
70 | | | | * 4 | |
71 | | | * | 3 | |
72 | | | |/ | |
73 | | * | 2 | |
74 | | |/ | |
75 | * | 1 | |
76 | |/ | |
77 | * initial | |
78 | EOF | |
79 | git log --color=never --graph --date-order --pretty=tformat:%s merge >actual.raw && | |
80 | sed "s/ *\$//" actual.raw >actual && | |
81 | test_cmp expect.uncolored actual | |
82 | ' | |
83 | ||
84 | test_expect_success 'log --graph with normal octopus merge with colors' ' | |
85 | cat >expect.colors <<-\EOF && | |
86 | *<YELLOW>-<RESET><YELLOW>-<RESET><BLUE>-<RESET><BLUE>.<RESET> octopus-merge | |
87 | <RED>|<RESET><GREEN>\<RESET> <YELLOW>\<RESET> <BLUE>\<RESET> | |
88 | <RED>|<RESET> <GREEN>|<RESET> <YELLOW>|<RESET> * 4 | |
89 | <RED>|<RESET> <GREEN>|<RESET> * <BLUE>|<RESET> 3 | |
90 | <RED>|<RESET> <GREEN>|<RESET> <BLUE>|<RESET><BLUE>/<RESET> | |
91 | <RED>|<RESET> * <BLUE>|<RESET> 2 | |
92 | <RED>|<RESET> <BLUE>|<RESET><BLUE>/<RESET> | |
93 | * <BLUE>|<RESET> 1 | |
94 | <BLUE>|<RESET><BLUE>/<RESET> | |
95 | * initial | |
96 | EOF | |
97 | test_config log.graphColors red,green,yellow,blue,magenta,cyan && | |
98 | git log --color=always --graph --date-order --pretty=tformat:%s merge >actual.colors.raw && | |
99 | test_decode_color <actual.colors.raw | sed "s/ *\$//" >actual.colors && | |
100 | test_cmp expect.colors actual.colors | |
101 | ' | |
102 | test_done |