t4214: demonstrate octopus graph coloring failure
authorDenton Liu <liu.denton@gmail.com>
Fri, 4 Oct 2019 00:23:22 +0000 (17:23 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 4 Oct 2019 00:28:01 +0000 (09:28 +0900)
commit11c21f22ded635bec5e10c833697c55aab442776
treef239c25ee70c601600584e414d64ad9e063098a6
parent25eb905e14eb3dd72e3208735efd2aa0ef90c550
t4214: demonstrate octopus graph coloring failure

The graph coloring logic for octopus merges currently has a bug. This
can be seen git.git with 74c7cfa875 (Merge of
http://members.cox.net/junkio/git-jc.git, 2005-05-05), whose second
child is 211232bae6 (Octopus merge of the following five patches.,
2005-05-05).

If one runs

git log --graph 74c7cfa875

one can see that the octopus merge is colored incorrectly. In
particular, the horizontal dashes are off by one color. Each horizontal
dash should be the color of the line to their bottom-right. Instead, they
are currently the color of the line to their bottom.

Demonstrate this breakage with a few sets of test cases. These test
cases should show not only simple cases of the bug occuring but trickier
situations that may not be handled properly in any attempt to fix the
bug.

While we're at it, include a passing test case as a canary in case an
attempt to fix the bug breaks existing operation.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4214-log-graph-octopus.sh