WinMerge is an excellent and very powerful file merging tool, but as the name would imply, it's Windows only. What's a good equivalent on the Mac?
16 Answers
You can use FileMerge, Apple's diff solution. It's free and it comes with every Mac OS X install.
The only downside is that you have to install the Developer Tools. You can find them on your DVD install that came when you bought your Mac (Snow Leopard or earlier). You can also get the developer tools from the App Store if your version of the OS supports that.
Then, you can find it at /Developer/Applications/Utilities/FileMerge.app
-
You need to have the Developer tools to have that, so if you don’t have them (and don’t want to have them), try DiffMerge as suggested in the other answer. Commented Nov 3, 2010 at 4:33
-
6After using FileMerge and DiffMerge, i found FileMerge a better tool, especially for folder comparisons. But both are no way close to WinMerge.– MurukeshCommented Jul 3, 2012 at 7:06
-
4On my setup, it was located at
/Applications/Xcode.app/Contents/Applications/FileMerge.app
Commented Sep 4, 2012 at 17:43 -
2
-
1@bobobobo FileMerge is excellent; I don't know why you're calling it poor. I've never found a diff tool that I like nearly as much (and DiffMerge is so ugly I wanted to claw my eyes out when I tried it). The only time I've seen behavior such as you're talking about is when it's dealing with newline incompatibilities. Commented Mar 24, 2014 at 0:11
I've found the following applications:
FileMerge (
opendiff
)It's no longer bundled with Xcode Command Line Tools, you must install Xcode from either the App Store or the Apple Developer Website.
-
Open sourced beautifier and language aware code comparison tool for many languages.
-
Can be installed using Homebrew via command:
brew install meld
-
Can be installed using Homebrew via command:
brew install tkdiff
-
Available on the App Store
-
Commercial with free trial.
-
Commercial with free trial.
-
No longer in Homebrew, it has not been developed/updated since 2014.
See also:
-
2I would upvote this one a few times if I could. Never knew that TextWrangler could compare files.– LarsHCommented Sep 11, 2014 at 22:48
-
1
opendiff
gives me the following error: xcode-select: error: tool 'opendiff' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance– PieterCommented Nov 29, 2015 at 15:35 -
-
I was under the impression that I only needed the Xcode Command Line Tools, but okay.– PieterCommented Nov 30, 2015 at 19:08
-
1
kdiff3
is no longer in brew, probably because it has not been developed/updated since 2014.– wisbuckyCommented Feb 27, 2018 at 23:36
Agree with the recommendation for FileMerge.app. You also have the free, cross-platform DiffMerge program, but I like FileMerge better.
-
DiffMerge is not as good as Windiff. It compares only files. You cannot just copy,paste and compare contents. Commented Aug 17, 2017 at 6:39
-
1
Stumbled upon this thread today and thought I'd contribute this new cross-platform OSS diff tool that supports file and directory comparision. It is a good alternative to WinMerge for Mac. http://meldmerge.org/
Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.
Meld helps you review code changes and understand patches. It might even help you to figure out what is going on in that merge you keep avoiding.
-
Thanks for posting an answer, digger69! Can you please add a little more information about Meld? How does it solve the OP's question? Thank you! Commented May 2, 2012 at 20:42
-
I can't get it to run, and it needs pygtk and uses uncommon xz compression format.– lulalalaCommented Jul 11, 2012 at 7:28
-
1You can install it with HomeBrew ( github.com/mxcl/homebrew ) brew install meld Commented Apr 19, 2013 at 22:25
-
FileMerge is far more capable and visually attractive than Meld (which has, for example, no good diff3 view). There is no reason at all to use Meld on Mac OS. Commented Mar 23, 2014 at 23:56
-
2The way to install
meld
currently (as of 2017) is:brew tap caskroom/cask; brew cask install meld
. It is now bundled as an OSX application and does not require any additional packages.– wisbuckyCommented Feb 27, 2018 at 23:38
A modern, powerful, but paid (currently Mar-2013 $69.99) file merging application for OS X is Kaleidoscope. It handles folders, files, and even images. Ad copy from the page:
Compare text in Blocks, Fluid and Unified layouts in both Two-Way and Three-Way modes. Quickly navigate and search through the most readable diff you've ever seen.
-
1Not that great, not for the price, which is now about $100 CAD. It is missing a number of features and it can often hang totally on big files. To the point where I (once )had to power off the machine via the power switch because I couldn't bring up the
Force Quit
dialog. That same file, run throughGNU diff
? Less than 3 seconds to return results. When it works, it works well, but it doesn't always. Also, it is really quite naive at recognizing blocks of moved text. Commented Jul 9, 2018 at 21:42
Araxis Merge (http://www.araxis.com/merge_mac/index.html) is the gold standard in this area and has a similar cost (what is the weight of bits?). There are Windows and Mac versions, and it is truly excellent if you find yourself spending a lot of time doing multiway diffs and merges (more common in these days of distributed version control systems).
The pricing starts (as of Sept 2011) at $129.
-
Why pay so much when excellent free tools exist? Commented Mar 24, 2014 at 0:13
-
1To keep the response up to date, I'll start with the link: araxis.com/merge/index.en but basically, you can compare more than just 2-way text files. Commented Mar 24, 2014 at 6:16
-
1FileMerge does excellent 3-way diffs. P4Merge does comparisons on some binary files (not a feature I need much, though). Both are free. Commented Mar 25, 2014 at 17:16
Maybe you will find the app SourceTree interesting: http://www.sourcetreeapp.com/ SourceTree is a free Mac client for Git and Mercurial version control systems. Therefor it isn't a general purpose diff or merge tool but it is worth mentioning it.
-
"SourceTree is a free Mac client for Git and Mercurial version control systems". Sounds nice, but does it include a diff/merge for any file? Commented Nov 12, 2012 at 0:19
-
Beyond Compare is now in beta for the Mac. It's the best diff/merge program I’ve used on Windows and is definitely worth checking out.
Perforce, a source control application, has a free * diff and merge tool that is cross platform and works fine on my mac. It's called P4Merge.
http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
It presents file-diffs very nicely and handles three-way merges like a champ. As a long-time WinMerge user I was very happy with it. Its use of little gem-like icons in a 3-way merge takes some getting used to. One icon is for my change, one for their's, and one for the common ancestor. Once you get that straight it was very helpful.
* it was free, but may now be subject to Perforce's licensing. Perforce in-general is restricted to a certain number of users and/or files unless you buy it. However, these restrictions only make sense when using their server-side software. These client-only tools can't really be licensed like that. I'll update if I ever hear back from the company on this matter.
There's an application called SemanticMerge for Mac.
SemanticMerge, as the name says :-), is a tool able to merge based on code structure instead of blocks of text. It basically means it parses the code first and then merges based on methods, classes and so on, so it is quite refactor friendly since it can match methods/functions even when they've been moved to different locations within the file.
At the time of writing this, Semantic supports .NET, C, Java, C++ and JavaScript.
I am a Mac user attached to elegance and esthetics as a significant factor in productivity for cognitive reasons. A fully native and elegant Human Interface is for me of paramount importance.
I tried many contenders (Araxis, P4Merge and many others). I purchased several. I loved Changes for a long while. Now my favorite is Kaleidoscope. It provides 3-way merge, it can compare images in a smart way, it has a slick and elegant interface.
When an application claims to be cross-platform, that rings an alarm bell. More often than not, it means an ugly, non-native interface. Having to cringe when working is not my idea of having fun at work.
-
"Cross-platform" doesn't necessarily mean an ugly non-native interface. There are enough widget libraries out there that look sensible on multiple OSes that it's pretty easy for developers to make nice-looking cross-platform applications. Frankly, I prefer cross-platform applications (other things being equal) because I don't want to lock myself into one OS. Commented Mar 24, 2014 at 0:03
-
You don't disagree. I wrote "More often than not". It is my experience that cross-platform apps "more often than not" fail to feel native. "look sensible" is easy, but far from enough. I prefer native apps, despite the risk of lock in, because frankly, I don't want to spend many hours cringing every step of the way because of the uncanny valley an app has dug itself in, by trying, but mostly failing, to feel native while staying cross platform. An example of such an (otherwise excellent) application is YNAB. Commented Mar 30, 2014 at 12:27
-
Then yes, I do disagree. Some cross-platform apps do fail to look native, but more often than not, I believe they do look native. Because the good ones look native, you don't notice them, so only the bad ones come to your notice. Commented Apr 1, 2014 at 16:40
-
I suppose I haven't come across the same cross-platform applications as you have. I gave you an example. What would be a good example of a really native cross-platform application? Transmission perhaps, which I agree does really feels fully native. Back to the topic at hand. I know of no cross-platform compare/diff app that feels really native on the Mac. Commented Apr 3, 2014 at 8:41
-
Chrome and Firefox (and other XUL apps like Zotero and KomodoEdit) are great examples of cross-platform applications that truly feel Mac-like. Frescobaldi is surprisingly good in this respect as well, particularly considering that it's a Python application (I guess it uses a widget library that has a good Mac skin). SublimeText is another example; it doesn't exactly have a "standard" Mac-style interface, but it certainly feels native. Commented Apr 3, 2014 at 16:50
Meld is a good option..
steps to install meld on Mac :
Install MacPorts:
Installation information can be found in : MacPort installation Before installing MacPort, you have to install Xcode and the Xcode Command Line Tools if your computer doesn't have them.
Open your terminal and execute following commands
i) Installing rarian : "sudo port install rarian"
II) Installing meld : "sued port install meld"Configure the dbus service to start at boot
I) sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
II) launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plistdfAdd LC_ALL variable to the .bash_profile file at your /home directory export LC_ALL=en_US
Type meld command in the terminal and the application will be launched for you.
-
Could you explain how it's installed rather than just posting a link? Commented Nov 20, 2014 at 10:02
-
These instructions are now obsolete. All you have to do now is:
brew tap caskroom/cask; brew cask install meld
– wisbuckyCommented Feb 27, 2018 at 23:42
I use VisualDiffer.
It's not as good as WinMerge, but pretty close and very cheap (only $34.99 at the moment!). It is promising.
Here's a screenshot.
-
Still using this on a daily basis 2 years later. I recommend.– JonnyCommented Mar 18, 2015 at 2:25
Changes - http://connectedflow.com/changes/
-
Welcome to Ask Different, Jordan! Thanks for posting an answer! Can you please add more information about Changes? How does it answer the OP's question? Answers need to be more than links and need to answer the OP's question specifically. Commented Apr 27, 2012 at 18:32
-
My favorite free solution for merging the contents of files is KDiff3. KDiff3 can do two-way and three-way merges, has a decent GUI and has some pretty powerful features to assist with the merge.
My favorite non-free, but inexpensive ($30-ish) solution for merging the contents of files is Beyond Compare 3. Yes, Beyond Compare 3 is only available as a native Windows or Linux app, but I run it in WiNE via the easy to use Wineskin Winery app.
When it comes to merging the content of directories both KDiff3 and Beyond Compare 3 can do it, but IMO KDiff3 is not very usable in this regard. Fortunately Beyond Compare 3 excels at directory merges, even on OS X.
Seems like there were plans to make WinMerge 3 available for Mac too:
- http://forums.winmerge.org/viewtopic.php?f=9&t=231
- https://bitbucket.org/grimmdp/winmerge/issue/4/mac-os-x-use-winmerge-in-menu
I haven't made my choice for Mac. But on Windows I use WinMerge, on Linux Meld (which is also available for Mac), currently using twdiff, I already tried FileMerge.app
, and going to try DiffMerge.
A note about Meld:
Meld does work on OS X and Windows, but there are no all-in-one packages for those systems available at the moment. On OS X, Meld is available from MacPorts or Fink.
-
1No updates in repository since 2011. WinMerge 3 is dead? bitbucket.org/grimmdp/winmerge– JonnyCommented Apr 30, 2013 at 1:20
-
Meld is bundled for OSX now.
brew tap caskroom/cask; brew cask install meld
– wisbuckyCommented Feb 27, 2018 at 23:43