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

Re: git merge commits are non-deterministic? what changed?

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 20, 2012, 20:39 UTC
Message-ID
<7v4nkkroum.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20121120162226.GK69724@acme.spoerlein.net>
Ulrich Spörlein <uqs@spoerlein.net> writes:
> But this will never be changed, it would break the fundamental git
> storage model as it is in place now.

It doesn't just break "storage model", but more importantly, it breaks the semantics.

Imagine that things started breaking after merging your topic branch 'foo' to the integration branch 'master', and how people would perceive the situation. Everybody would say your topic 'foo' broke the build. Nobody except you would say, even if the tip of your topic 'foo' alone works perfectly, merging the 'master' to your topic 'foo' broke that topic. The topic should have been adjusted to the updated baseline, that is the 'master' branch before this merge since your topic 'foo' forked off of it, before or during the merge.

To express what was merged into what, the order of parents in the commit is fundamentally a part of what a commit is.

Previous: Ulrich Spörlein
Message 9 of 9 in “git merge commits are non-deterministic? what changed?”
  1. Ulrich SpörleinNov 9, 2012
  2. Andreas SchwabNov 9, 2012
  3. Ulrich SpörleinNov 9, 2012
  4. Matthieu MoyNov 9, 2012
  5. Jeff KingNov 9, 2012
  6. Ulrich SpörleinNov 9, 2012
  7. Michael J GruberNov 12, 2012
  8. Ulrich SpörleinNov 20, 2012
  9. Junio C HamanoNov 20, 2012

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.