RoaringDiff
Finally, a real Mac graphical "differ" that is
suitable for use from the command line
(Or from your remote Unix system.)
Download RoaringDiff
Requires Mac OS X 10.4 and the Apple Developer Tools. RoaringDiff is a Universal application for both Intel and PowerPC Macs.

RoaringDiff is freeware. This is beta quality code; I'm using it, but there's not enough miles on it yet. Please share bug reports with me. mitch.haile@gmail.com


Download (550 KB)
Current version: 1.0.28

Fun Features

RoaringDiff is...

  1. A native Mac OS X application (Universal Binary for PowerPC and Intel).
  2. Controllable from the command line and suitable for p4 diff or svn diff operations from the Terminal.
  3. A 1.0 release, which means missing "obvious" features and some bugs. :-)
  4. Not a "diff3" replacement.
  5. Not a merge tool.
RoaringDiff provides friendly file comparison for programmers, web developers, or anyone else responsible for frequently changing text files such as source code, web pages, or XML data.

Using with 'svn' command line

You can point svn to RoaringDiff manually every time you run svn diff:
$ svn diff --diff-cmd /Applications/RoaringDiff.app/Contents/MacOS/RoaringDiff
This becomes tedious quickly. If you plan to use RoaringDiff for most of your diffing, edit ~/.subversion/config and change diff-cmd in that file:
### Set diff-cmd to the absolute path of your 'diff' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
diff-cmd = /Applications/RoaringDiff.app/Contents/MacOS/RoaringDiff
To use the regular GNU diff from time to time when diff-cmd is set, you can run:
$ svn diff --diff-cmd diff

Using with 'p4' command line

For use with Perforce, just set P4DIFF to the RoaringDiff executable. You can do this in your shell configuration (~/.profile for bash users).
export P4DIFF=/Applications/RoaringDiff.app/Contents/MacOS/RoaringDiff
To use the regular GNU diff from time to time when P4DIFF is set, bash users can run:
$ P4DIFF=diff p4 diff

Known Bugs/RFEs


Feedback

I mostly wrote RoaringDiff because it is a tool that I want to use. If you find it useful, I'd love to hear how you're using it. My main pet peeve was the lack of a GUI differ than has "proper" command-line control for using with Perforce and Subversion.

I wanted something like xxdiff on the Mac (but xxdiff has some strangeness that bugs me, too). opendiff(1) drives me crazy--I want "synchronous diffing" and control over the colors and geometry.

Send me mail: mitch.haile@gmail.com.