tags:

views:

4394

answers:

15

Subversion, Git, Mercurial and others support three-way merges (combining mine, theirs, and the "base" revision) and support graphical tools to resolve conflicts.

What tool do you use? Windows, OSX, Linux, free or commercial, you name it.

Here's a few that I've used or heard of, just to get the conversation started: kdiff3, DiffMerge, P4Merge, Meld, Beyond Compare Pro.

(I recognize that this is sort of like the Best Diff Tool but it's different in that I explicitly focus on three-way merge tools; WinMerge is off the list, for example.)

+20  A: 

Beyond Compare 3 supports 3-way merging, and is a pretty impressive merge tool. It's Commercial (but worth it, imho) and is available on both Windows and Linux.

As pointed out in a comment, it's also inexpensive.

Joshua McKinnon
It's pretty inexpensive too! (Good discounts at modest quantities)
Jason S
+1 Beyond Compare is easily worth the price, especially when you consider it's other features.
jamiei
+2  A: 

Ultracompare, really good and handles large files (1G+) well, windows only, its commercial but worth it.

MrTelly
+5  A: 

vimdiff. It's great. All you need is a window three feet wide.

Paul Beckingham
Took some time to figure out that you can do "gvimdiff -O branch1.txt base.txt branch2.txt merge.txt" and the use ctrl+w J to move the merge buffer to the bottom of the screen. Is this how you use it?
Wim Coenen
Pretty much, except I use vim, not gvim.
Paul Beckingham
+3  A: 

xxdiff if you're in linux land.

Mark Harrison
+15  A: 
CMS
diffmerge is quite nice, though it takes a while to start up.
frankster
+12  A: 

Meld Diff Viewer

I have had only good experiences working with Meld. I use it when I have to do messy code merges between branches. It is simple to use and has a clean interface. It however may not be what you are looking for if you are locked into a windows environment.

  • Open Source
  • Linux and MacOS Supported
  • Multiple File Diff
  • Three-way Compare Support

In Ubuntu, install is as simple as: sudo apt-get install meld

Elijah
+1 Meld is slick, clean, "just enough" software.
Trevor Bramble
+4  A: 

I love ediff, standard in emacs.

jcrossley3
+7  A: 

Araxis Merge. Commerical, but so worth it... available for Windows and the Mac

Dave
Agree, it's the best I've used.
Dan Olson
My observation: Its relatively slow when handling large files around 5MB.
Naga Kiran
+2  A: 

TortoiseSVN comes with TortoiseMerge which can be very handy if you don't want to install/configure additional tools. It isn't as easy to use as TortoiseSVN itself though. Well after getting used to it, it's really a good tool.

ssg
Isn't tortoisesvn considered an additional tool on its own? ... a tool that is not needed by most people who dont use svn. Also, most information on the internets points to TortoiseMerge not being a 3way merge tool.
Evgeny
+1  A: 

Diffuse is an easy to use three-way merge tool. It supports all of the platforms and version control systems you mentioned.

+2  A: 

I would like to add that you can also get BeyondCompare 3 Pro for Linux (not just windows). I hope that they release an OS X version in the future.

chris.nullptr
+10  A: 

Just checked out P4merge since I heard about it in another blog article:

p4Merge in action

Very slick interface, and FREE! I've been a faithful Araxis Merge user, but considering this is free and awesome, I'd encourage you to check it out.

Dan Esparza
as far as I can tell this tool is only available on windows.
frankster
It's available for Windows, Mac, Linux, FreeBSD, and Solaris 10
Grant Limberg
+7  A: 

I use KDiff3 open source, cross platform

sotto
+1. Me too. I was going to add that myself.
RichardOD
+3  A: 

See also 3-way XML merge algorithm where I ask about 3-way merge of XML or HTML files.

ChrisW
+2  A: 

Kdiff3 algorithm is really impressive.

Even when subversion indicates a conflict, Kdiff3 solves it automatically. There's versions for Windows and Linux. It is possible to integrate it with TortoiseSVN and with your linux shell.

It is one of my favorites open source softwares.

My only annoyance is that it is a little difficult to compile if it doesn't exist in your favorite disto repository.

neves