Re: [PATCH RFC] graph: implement git-log(1) --untangle
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Feb 9, 2026, 16:39 UTC
- 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:
Show 17 quoted lines
> ... 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.
Show 25 quoted lines
> * 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
* initialI 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