Re: Assertion in git log graphing [regression in v2.25]
From: Derrick Stolee <hidden>
Date: 2020-01-07 12:22:12
On 1/7/2020 6:48 AM, Jeff King wrote:
On Tue, Jan 07, 2020 at 11:24:50AM +0000, Bradley Smith wrote:quoted
The following git repository (https://github.com/brads55/git-testcase) causes an assertion when running: $ git log --oneline --graph --all git-log: graph.c:1228: graph_output_collapsing_line: Assertion `graph->mapping[i - 3] == target' failed.Thanks for the report, and especially for providing a reproduction case! The problem is new in the v2.25 release candidates, so we should try to deal with it before the release.quoted
The assertion seems to be caused by commit 0f0f389f12029b1c3745f8ed7aacfe6b2fc7a6cc. The graph structure of the above repository is as follows (as produced by v2.24.1):Yeah, I can confirm that this introduces the problem. I admit to not following the recent graph changes too closely, so I'll add James to the cc for attention.
I'm also going to take a look this morning, starting by creating a test. I reviewed what I could of James' patch series, but I was also unfamiliar with graph.c and relied on his very substantial test cases to verify the correctness. Looks like a corner case got missed. Thanks, -Stolee