Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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?

share|improve this question
    
Do you want to diff/merge the contents of files or the contents of directories? –  HairOfTheDog Mar 19 '13 at 20:55
    
Duplicate of: apple.stackexchange.com/questions/10099/… –  kenorb May 8 at 14:54

15 Answers 15

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

share|improve this answer
    
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. –  Martín Marconcini Nov 3 '10 at 4:33
1  
After using FileMerge and DiffMerge, i found FileMerge a better tool, especially for folder comparisons. But both are no way close to WinMerge. –  Murukesh Jul 3 '12 at 7:06
1  
On my setup, it was located at /Applications/Xcode.app/Contents/Applications/FileMerge.app –  Benoit Duffez Sep 4 '12 at 17:43
1  
Agreed. FileMerge is nothing close to WinMerge. –  Jonny Apr 30 '13 at 1:15
    
FileMerge is extremely extremely limited and extremely extremely poor. I just diff'd two files with (49 changes, as counted by DiffMerge) and FileMerge found: 1 difference (the whole file). Based on this I recommend DiffMerge instead. –  bobobobo Jul 6 '13 at 16:31

Agree with the recommendation for FileMerge.app. You also have the free, cross-platform DiffMerge program, but I like FileMerge better.

share|improve this answer

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.

share|improve this answer
    
Why pay so much when excellent free tools exist? –  Marnen Laibow-Koser Mar 24 at 0:13
    
To 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. –  Art Taylor Mar 24 at 6:16
1  
FileMerge does excellent 3-way diffs. P4Merge does comparisons on some binary files (not a feature I need much, though). Both are free. –  Marnen Laibow-Koser Mar 25 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.

share|improve this answer
    
"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? –  parsley72 Nov 12 '12 at 0:19
    
It does include a diff/merge tool. –  sventechie Apr 19 '13 at 22:26

Changes - http://connectedflow.com/changes/

share|improve this answer

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

    
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. –  daviesgeek Apr 27 '12 at 18:32

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.

share|improve this answer
    
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! –  daviesgeek May 2 '12 at 20:42
    
I can't get it to run, and it needs pygtk and uses uncommon xz compression format. –  lulalala Jul 11 '12 at 7:28
    
You can install it with HomeBrew ( github.com/mxcl/homebrew ) brew install meld –  sventechie Apr 19 '13 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. –  Marnen Laibow-Koser Mar 23 at 23:56
    
Meld's killer feature is that it can do directory tree diffs, filemerge can't. It's very handy for viewing changes between branches. The downside it that it's difficult to install on a Mac and it tends to break when the OS updates. –  wmil Apr 28 at 21:04

Seems like there were plans to make WinMerge 3 available for Mac too:


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.

share|improve this answer
1  
No updates in repository since 2011. WinMerge 3 is dead? bitbucket.org/grimmdp/winmerge –  Jonny Apr 30 '13 at 1:20

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.

share|improve this answer

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.

share|improve this answer

I use VisualDiffer https://itunes.apple.com/us/app/visualdiffer/id412386481?mt=12

It's not as good as WinMerge, but pretty close and very cheap (only $3.99 at the moment!). It is promising.

Here's a screenshot.

enter image description here

share|improve this answer

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.

share|improve this answer
    
"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. –  Marnen Laibow-Koser Mar 24 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. –  Jean-Denis Muys Mar 30 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. –  Marnen Laibow-Koser Apr 1 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. –  Jean-Denis Muys Apr 3 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. –  Marnen Laibow-Koser Apr 3 at 16:50

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 C#, Java and C, but of course ObjectiveC will be the next one.

share|improve this answer

Here are which I've found:

  • FileMerge (opendiff)

    It's bundled with Xcode with Command Line Tools installed

  • DiffMerge It's bundled with Xcode with Command Line Tools installed

  • Meld

    Can be installed using Homebrew via command: brew install meld

  • KDiff3

    Can be installed using Homebrew via command: brew install kdiff3

  • TkDiff

    Can be installed using Homebrew via command: brew install tkdiff

  • TextWrangler

  • VisualDiffer

    Available at App Store

  • Kaleidoscope

    Commercial with free trial.

  • Araxis Merge

    Commercial with free trial.

See also: What file comparison tool can I use under OS X? and Comparison of file comparison tools at Wikipedia for the full list.

share|improve this answer

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.

http://www.scootersoftware.com/support.php?zz=kb_mac

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.