From: Johannes Sixt Date: Mon, 09 Feb 2026 16:39:51 GMT Subject: Re: [PATCH RFC] graph: implement git-log(1) --untangle Message-ID: <5f64f9a1-fd1f-4683-b26e-76123b19554a@kdbg.org> In-Reply-To: <87h5rqqv4y.fsf@iotcl.com> Am 09.02.26 um 07:38 schrieb Toon Claes: > ... Display in some way part of the > history is missing, maybe by showing a '.' in the graph: > > * > |\ > | * > | * > | . > * > |\ > * * > |/ > * > * > > This indicates a piece of the history is truncated. I'm still on the > fence about this I like this. The line with the fullstop can then show a hint where the graph continues, perhaps "(see 123abc456 below)" or something. > * main > |\ > * | C > | * sync with main > | |\ > | |/ > |/| > * | B > | * A > |/ > * initial > > So here there merge-base isn't the first parent, so things get a little > more complicated. Also when 'B' is ignored as merge-base, the merge-base > needs to be recalculated to be 'initial'. > > Anyhow, the idea is to show it like this: > > * main > |\ > * | C > | * sync with main > * | B > | * A > * initial If only the history leading up to 'sync with maint' is shown, it would look like this: * sync with main |\ | * B | . * A * initial I would expect this sub-graph to occur when the full history is displayed. IMO it's wrong to treat 'sync with main' differently just because it is an ancestor of a another merge commit, as you suggested. But, of course, the truncated connection between 'initial' and B contradicts what would be expected for the full history (no truncation). So, I don't know... -- Hannes