Merge branch 'ds/graph-horizontal-edges'
Rendering by "git log --graph" of ancestry lines leading to a merge commit were made suboptimal to waste vertical space a bit with a recent update, which has been corrected. * ds/graph-horizontal-edges: graph: fix collapse of multiple edges graph: add test to demonstrate horizontal line bug
This commit is contained in:
commit
d52adee779
10
graph.c
10
graph.c
@ -1233,8 +1233,14 @@ static void graph_output_collapsing_line(struct git_graph *graph, struct graph_l
|
|||||||
* prevent any other edges from moving
|
* prevent any other edges from moving
|
||||||
* horizontally.
|
* horizontally.
|
||||||
*/
|
*/
|
||||||
if (horizontal_edge == -1)
|
if (horizontal_edge == -1) {
|
||||||
horizontal_edge = i;
|
int j;
|
||||||
|
horizontal_edge_target = target;
|
||||||
|
horizontal_edge = i - 1;
|
||||||
|
|
||||||
|
for (j = (target * 2) + 3; j < (i - 2); j += 2)
|
||||||
|
graph->mapping[j] = target;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,4 +311,66 @@ test_expect_success 'log --graph with multiple tips and colors' '
|
|||||||
test_cmp expect.colors actual.colors
|
test_cmp expect.colors actual.colors
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'log --graph with multiple tips' '
|
||||||
|
git checkout --orphan 7_1 &&
|
||||||
|
test_commit 7_A &&
|
||||||
|
test_commit 7_B &&
|
||||||
|
test_commit 7_C &&
|
||||||
|
git checkout -b 7_2 7_1~2 &&
|
||||||
|
test_commit 7_D &&
|
||||||
|
test_commit 7_E &&
|
||||||
|
git checkout -b 7_3 7_1~1 &&
|
||||||
|
test_commit 7_F &&
|
||||||
|
test_commit 7_G &&
|
||||||
|
git checkout -b 7_4 7_2~1 &&
|
||||||
|
test_commit 7_H &&
|
||||||
|
git checkout -b 7_5 7_1~2 &&
|
||||||
|
test_commit 7_I &&
|
||||||
|
git checkout -b 7_6 7_3~1 &&
|
||||||
|
test_commit 7_J &&
|
||||||
|
git checkout -b M_1 7_1 &&
|
||||||
|
git merge --no-ff 7_2 -m 7_M1 &&
|
||||||
|
git checkout -b M_3 7_3 &&
|
||||||
|
git merge --no-ff 7_4 -m 7_M2 &&
|
||||||
|
git checkout -b M_5 7_5 &&
|
||||||
|
git merge --no-ff 7_6 -m 7_M3 &&
|
||||||
|
git checkout -b M_7 7_1 &&
|
||||||
|
git merge --no-ff 7_2 7_3 -m 7_M4 &&
|
||||||
|
|
||||||
|
check_graph M_1 M_3 M_5 M_7 <<-\EOF
|
||||||
|
* 7_M1
|
||||||
|
|\
|
||||||
|
| | * 7_M2
|
||||||
|
| | |\
|
||||||
|
| | | * 7_H
|
||||||
|
| | | | * 7_M3
|
||||||
|
| | | | |\
|
||||||
|
| | | | | * 7_J
|
||||||
|
| | | | * | 7_I
|
||||||
|
| | | | | | * 7_M4
|
||||||
|
| |_|_|_|_|/|\
|
||||||
|
|/| | | | |/ /
|
||||||
|
| | |_|_|/| /
|
||||||
|
| |/| | | |/
|
||||||
|
| | | |_|/|
|
||||||
|
| | |/| | |
|
||||||
|
| | * | | | 7_G
|
||||||
|
| | | |_|/
|
||||||
|
| | |/| |
|
||||||
|
| | * | | 7_F
|
||||||
|
| * | | | 7_E
|
||||||
|
| | |/ /
|
||||||
|
| |/| |
|
||||||
|
| * | | 7_D
|
||||||
|
| | |/
|
||||||
|
| |/|
|
||||||
|
* | | 7_C
|
||||||
|
| |/
|
||||||
|
|/|
|
||||||
|
* | 7_B
|
||||||
|
|/
|
||||||
|
* 7_A
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user