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

Re: commit-graph: change in "best" merge-base when ambiguous

From
Jeff King <peff@peff.net>
Date
May 21, 2018, 21:54 UTC
Message-ID
<20180521215443.GC16623@sigill.intra.peff.net>
In-Reply-To
<e78a115a-a5ea-3c0a-5437-51ba0bcc56e1@gmail.com>
On Mon, May 21, 2018 at 02:10:54PM -0400, Derrick Stolee wrote:
Show 24 quoted lines
> In the Discussion section of the `git merge-base` docs [1], we have the
> following:
> 
>     When the history involves criss-cross merges, there can be more than one
> best common ancestor for two commits. For example, with this topology:
> 
>     ---1---o---A
>         \ /
>          X
>         / \
>     ---2---o---o---B
> 
>     both 1 and 2 are merge-bases of A and B. Neither one is better than the
> other (both are best merge bases). When the --all option is not given,    
> it is unspecified which best one is output.
> 
> This means our official documentation mentions that we do not have a
> concrete way to differentiate between these choices. This makes me think
> that this change in behavior is not a bug, but it _is_ a change in behavior.
> It's worth mentioning, but I don't think there is any value in making sure
> `git merge-base` returns the same output.
> 
> Does anyone disagree? Is this something we should solidify so we always have
> a "definitive" merge-base?

Heh, I should have read your whole original message before responding, not just the part that Elijah quoted.

Yes, I think this is clearly a case where all of the single merge-bases we could show are equally good. And I don't think we should promise to show a particular one, but I _do_ think it's friendly for us to have deterministic tie-breakers (we certainly don't now).

-Peff
Previous: Stefan BellerNext: Jacob Keller
Message 5 of 10 in “commit-graph: change in "best" merge-base when ambiguous”
  1. Derrick StoleeMay 21, 2018
  2. Elijah NewrenMay 21, 2018
  3. Jeff KingMay 21, 2018
  4. Stefan BellerMay 21, 2018
  5. Jeff KingMay 21, 2018
  6. Jacob KellerMay 21, 2018
  7. Michael HaggertyMay 22, 2018
  8. Derrick StoleeMay 22, 2018
  9. Jakub NarebskiMay 24, 2018
  10. Michael HaggertyMay 25, 2018

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.