40 comments

[ 5.2 ms ] story [ 89.9 ms ] thread
One thing Meld cannot easily do (unless it's changed very recently) is manually align blocks of text when autoalignment fails.

I recommend Diffuse for that, and also for three-way merging: http://diffuse.sourceforge.net/

I do join in recommending Meld for your everyday diff/merge, though. :)

For Windows I found WinMerge to be quite useful: http://winmerge.org/
I like winmerge. Even kdiff3 is not as useful as winmerge, IMHO.

http://kdiff3.sourceforge.net/

Can they be even compared? KDiff3 merges based on the "common ancestor" (3 versions to the fourth) and I don't see in that feature in the screenshots of WinMerge?
Most of the time, I use both as a tool to do visual diff, instead of code merge.

KDiff3 is not so good as winmerge as visual diff tool. And kdiff3 UI has small problem on Ubuntu, as it was not developed for gnome environment.

+1. I use WinMerge on a daily basis on my Windows development machines. It's a very complete and polished program, typically written by people who use it themselves and want their tools to be the best.
Then why does their website make it look like shareware garbage? Yellow? Ow. :(
Ahh, meld. It's awesome! After searching for some good diff (visual) tools, i found that one and never had problems.
Does it support non-ASCII/non-UTF8 encodings now? meld's failure to do anything meaningful with files in other encodings (i.e., 95% of the sourcecode I have) made me go with diffuse even though meld looks slightly nicer.
Does Diffuse have three-panel merge?
Diffuse can do n-way merges. So, yes.

Unfortunately (for automation's sake), there doesn't seem to be any obvious way to specify a single default output file. So you need to manually save whichever file you merged in to, and then refuse at the prompt to save the rest.

So that isn't quite the same as Meld's left-, right- and center panels where the center is whatever output you want saved.
You could just use Diffuse's center panel as the one to merge in to and save.

But there's no way to make it the one that's saved by default. You have to select it as the one to save, and then you have to refuse in the dialog that asks whether you want to save the other two.

Meld is nice, but I also prefer diffuse. I found its Hg and SVN integration more convenient
How does it compare to ediff? This has been my diff tool of choice lately but I'm always interested in improvements.

note: I use Emacs for many other things so that specific point is not a pro or con for me.

Never understood how Emacs users manage to compare two directories. Diffing with Emacs always seemed cumbersome to me. Would you please post a video of a directories diff session of yours? Thank you.
I love Beyond Compare: http://www.scootersoftware.com/

Even though it's commercial I gladly payed for it. It's really fast, does a great job on aligning automatically, easily lets me isolate blocks or do manual align, has rules for comparing files, and I could go on.

I loved it too. Only Windows app I miss since switching to Mac/Linux only.
BC version 3 now comes with Linux support in nice little deb, rpm and tarred packages.
Thanks HN for giving me a tool I never realized I need.
Meld is the only tool I know of that shows a 3-panel merge. That's the killer feature for me.

Now, if there were an OSX-native app that does 3-panel merges, I'd gladly switch off of Meld.

kdiff3 works on mac
Diffmerge from sourcegear is free and runs natively on os x (in addition to win and Linux) and does 3 panel merges, as well as folder diffs pretty well.
And it's so easy to install! apt-get install meld.
What about vimdiff, that's already installed on most (unix-based) computers?

http://andrejk.blogspot.com/2008/04/vimdiff-howto.html

Agreed. The great part about vimdiff is that you can easily use it to rapidly make changes and view the diff of them. It's essential for cleaning up changes before a commit for me.
vimdiff is nice, but suffers from one major deficiency. It can't do three-way diffs.
Plastic SCM's diff/merge tool has a unique feature that can be useful: moved code detection.

http://www.scootersoftware.com/vbulletin/showthread.php?p=24...

It is a newer commercial product with several rough edges, but now there's a "community edition" to try out (it's possible to use just the diff/merge tool without obtaining a license key to setup the server portion):

http://codicesoftware.blogspot.com/2010/11/building-plastic-...

I'd try this if this was in the standard gentoo repository.
Does anyone know how to install this on Mac (preferably homebrew or macports)? It's killing me not having it.