On 25 June 2018 at 12:23, Jeff King wrote: > These diagrams confused me for a minute, because I see two differences: > > 1. The first one has an extra apparently unrelated parallel branch on > the far left. > > 2. The first has the first-parent of the "*" merge commit immediately > join the branch. > > But if I understand correctly, we only care about the second property. Yeah, sorry about that, I just copied them from "natural" occurences and didn't remove all the non-relevant detail. > I don't remember much about our prior discussion, so let me try to talk > myself through the patch itself: I didn't remember all that much either, but I did know that I didn't have a very strong grasp on the code at the time. But your talk-through convinced me that I really have no clue what's going on :) I'm still having trouble getting a big picture understanding of how the graph struct relates the what gets drawn on screen, but through some poking around with the debugger + trial & error, I've arrived at a new patch which seems to work. It's also a lot simpler. I hope you can tell me if it makes sense. Also attached an updated test-multiway-merge.sh which allows adding more branches to test different sized merges more easily.