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

Proposal for new git Merge Strategy

From
Jon Loeliger <jdl@jdl.com>
Date
Aug 23, 2006, 18:40 UTC
Message-ID
<E1GFxeZ-0000Nw-ED@jdl.com>
Folks,

The other day, I was talking to some other folks else-list about git's approach to merges and mentioned that there was some structure in place to handle different merge strategies.

One person observed that Perforce had a really good approach to merging and conflict resolution that allowed user interaction during the process specifically to help select the individual files and hunks that contributed to the final result. I confess that I have never used Perforce, so this is all hear-say and interpretation. :-)

However, it does seem like an approach that we could easily add to git -- not as the default of course. (Just think how dead we'd all be if Linus had to manually interact with every merge he performed at the tip of the Linux Pyramid. :-)

But for complex or critical merges, a "guided merge" strategy seems like it might be a useful tool. Basically, it would offer options to select Stage 1 or Stage 2 revisions, or step in and offer hunks from Stage 1 and 2, revert to "ours" or "theirs", or "revert to 'ours' or 'theirs' for all remaining files". Things like that maybe.

Any thoughts down this line?  Good idea?  Bad idea?

Thanks, jdl

PS -- Please keep mwm on the CC: list as he doesn't
      directly subscribe to the git list, but would
      like to participate in the thread.  Thanks!
Next: Jakub Narebski
Message 1 of 4 in “Proposal for new git Merge Strategy”
  1. Jon LoeligerAug 23, 2006
  2. Jakub NarebskiAug 23, 2006
  3. Junio C HamanoAug 23, 2006
  4. Martin LanghoffAug 23, 2006

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.