+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.
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?
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.
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.
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.
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):
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.
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.
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.
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.