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

Re: Newbie question regarding 3way merge order.

From
Nanako Shiraishi <nanako3@lavabit.com>
Date
Jan 31, 2009, 00:57 UTC
Message-ID
<20090131095724.6117@nanako3.lavabit.com>
In-Reply-To
<871vulda2r.fsf@gigli.quasi.internal>
Quoting "Raimund Berger" <raimund.berger@gmail.com>:
> The question is whether a (3way) merge is commutative, purely in terms
> of content (i.e. disregarding commit history for now). Iow if no matter
> in which order I merge A and B, i.e. A into B or B into A, I'd be
> guaranteed to arrive at the same content.

I think three-way merge of A into B and B into A will produce the same result when the merge doesn't conflict (when it does, you will get the conflict markers and text from A and B in a different order depending on the direction of the merge).

Show 5 quoted lines
> The reason I ask is obvious I guess. What basically interests me is if I
> gave a bunch of topic branches exposure on a test branch and, after
> resolving issues, applied them to stable, that I could be 100% sure to
> not introduce new issues content wise just by applying merges in a
> different order or form (rebase, patch set).

I don't think you can make a blanket conclusion like that by only knowing that merging A into B and merging B into A would produce the same result.

If you merge topics A, B, and C in this order into your current state O, there may not be any conflict, but if you merge the same topics to the same current state in different order, C, B and then A for example, you may get conflicts that breaks the merge. The commutativeness only says that merge of A into O will produce the same result as merge of O into A. It doesn't say anything about what would happen when you merge B to O.

-- 
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
Previous: Johannes SixtNext: Raimund Berger
Message 15 of 16 in “Newbie question regarding 3way merge order.”
  1. Raimund BergerJan 29, 2009
  2. Raimund BergerJan 30, 2009
  3. Sitaram ChamartyJan 30, 2009
  4. Raimund BergerJan 30, 2009
  5. Sitaram ChamartyJan 31, 2009
  6. Raimund BergerJan 31, 2009
  7. Nanako ShiraishiJan 31, 2009
  8. Raimund BergerFeb 1, 2009
  9. Junio C HamanoFeb 1, 2009
  10. Sitaram ChamartyFeb 2, 2009
  11. Raimund BergerFeb 2, 2009
  12. Johannes SixtFeb 2, 2009
  13. Raimund BergerFeb 2, 2009
  14. Johannes SixtFeb 3, 2009
  15. Nanako ShiraishiJan 31, 2009
  16. Raimund BergerJan 31, 2009

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.