git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
    * 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
Previous: Toon ClaesNext: Junio C Hamano
Message 6 of 7 in “graph: implement git-log(1) --untangle”
  1. graph: implement git-log(1) --untangleToon Claes, Feb 6, 2026
  2. Junio C HamanoFeb 6, 2026
  3. Toon ClaesFeb 9, 2026
  4. Johannes SixtFeb 7, 2026
  5. Toon ClaesFeb 9, 2026
  6. Johannes SixtFeb 9, 2026
  7. Junio C HamanoFeb 9, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.