Meld - a great visual diff and merge tool for linux
meld.sourceforge.netFor Windows I found WinMerge to be quite useful: http://winmerge.org/
+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. :(
I like winmerge. Even kdiff3 is not as useful as winmerge, IMHO.
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.
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. :)
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.
What about vimdiff, that's already installed on most (unix-based) computers?
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.
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.
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 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
Old but still relevant: http://amjith.blogspot.com/2007/07/visual-diff-tools-in-linu...
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.
I believe the cross-platform (so semi-native) PlasticSCM's included xmerge has what you're looking for:
http://codicesoftware.blogspot.com/2010/07/xmerge-to-merge-r...
Xmerge looks great. Too bad I'm on git.
You can always switch to Plastic!! Now it is FREE, didn't you know. Or, as last resort: why don't you use Xmerge with Git?? :)
Araxis Merge might be what you are looking for (Professional version only).
Unfortunately, it is not inexpensive.
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.
kdiff3 works on mac
I prefer Kompare: http://www.kde.org/applications/development/kompare/
Unfortunately, it doesn't look like the stable version is capable of 3-way merges.
Glad to see they're working on implementing that feature, though.
Thanks HN for giving me a tool I never realized I need.
Ahh, meld. It's awesome! After searching for some good diff (visual) tools, i found that one and never had problems.
Does anyone know how to install this on Mac (preferably homebrew or macports)? It's killing me not having it.
Can anyone post screenshots of Meld in Ubuntu 10.10?
edit: Just curious.
I didn't notice any difference on 10.10 and previous versions... Why do you need screenshots?..
And it's so easy to install! apt-get install meld.