Diffuse
I’m using Diffuse for 3-way-merges since years.
Its written by Derrick Moser & Henri Menke using Python & PyGTK.
http://diffuse.sourceforge.net/
Perforce – Visual Merge Tool
For visual three way merging of source code
my tool of choice is the “Visual Merge Tool” by Perforce.
Go to http://www.perforce.com/downloads
Browse by Component | Clients | Visual Merge Tool
Download and install the appropriate installer.
During installation deselect not needed software components.
Beyond Compare
Beyond Compare allows you to quickly and easily compare your files and folders.
It also provides a nice 3-way merge view, but only in the commercial PRO version.
http://www.scootersoftware.com/features.php
Kdiff3
An really good alternative is Kdiff3. As you might have guessed, it’s a KDE Tool.
http://kdiff3.sourceforge.net/doc/screenshots.html#dirmergebigscreenshot
http://kdiff3.sourceforge.net/
Araxis Merge
An alternative is Araxis Merge, which also supports 3-way-merging.
http://www.araxis.com/merge/
Winmerge
As an alternative you might use Winmerge.
It’s about 3MB in size and offers a solid GUI for two way merging.
Go to http://winmerge.org/downloads/?lang=de
Tell Git about it
To automatically open your favorite merge tool during GIT operations
you need to modify your ~/.gitconfig and add the following:
[merge] tool = p4tool [mergetool "p4tool"] cmd = \"/c/Program Files/Perforce/p4merge.exe\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" keepBackup = false [mergetool] prompt = false
The “cmd” directive contains the call to the merge tool, which is basically the same call you would use on the shell.
So if you are going to choose Winmerge you need to alter it accordingly.