[R-SIG-Mac] Mac or Windows...?

Duncan Murdoch murdoch at stats.uwo.ca
Sat Nov 11 13:03:33 CET 2006

On 11/11/2006 1:09 AM, Paul Roebuck wrote:
> On Fri, 10 Nov 2006, Duncan Murdoch wrote:
>> [SNIP]
>> I think there is no Mac equivalent of TortoiseSVN
>> or Beyond Compare (a graphical diff utility, quite
>> a bit better than what I've found for the Mac so far).
> Never seen Beyond Compare, but what's wrong with the
> Apple-supplied File Merge? Well, outside the fact that
> the Mighty Mouse scroll wheel doesn't work using it [bug
> filed with ADC]. Does about the same as 'mgdiff' used to
> do on Un*x.

Here's what I prefer about BC:

- It allows simple in-place edits, e.g. to fix up a single line, to copy
one line from one side to the other, etc.
- It allows me to configure an external editor for more extensive edits,
putting the cursor at the currently viewed location.
- It has a nicer display of the files.  FileMerge leaves the spacing of 
each file in its original form, and changes the alignment of lines 
depending on where the cursor is; BC inserts specially marked 
place-holder lines on the side that's missing an addition, so lines that 
compare equal are always lined up.  This facilitates copying a block of 
changes to one side or the other.
- BC is integrated with Explorer, so you can select a file/directory for 
comparison in one folder, move to another folder, and say "compare to 
- I was going to say FileMerge can't compare directories because I 
didn't realize until now that FileMerge can do that:  this is because it 
hides this capability so well!
- BC can be set as the diff utility for Subversion, so when I compare a 
file to the repository copy and do any of the edits above, they affect 
the real file on disk, rather than a copy of it as the svndiffshim.py 
script does. I spend a lot of time comparing files, because I routinely 
review any modifications I make before committing them, so as not to 
commit debug lines, unintentional changes, etc.  This is absolutely easy 
in BC, but quite painful in FileMerge due to the poor integration with 
- BC can take hints from the user to re-synchronize when it makes a 
mistake on automatic syncing.
- BC is configurable for what are "unimportant differences", so you can
ignore reformatting of code if you want.  I don't use this much, but 
it's very nice when I need it.

BC isn't perfect: the menu is too crowded, with obscure options that I 
never use, etc., but it's a very nice graphical diff utility.  Following 
Byron's recommendation, I'm going to take a look at TextMate's diff. 
Presumably it would have better editor integration, at least.

Duncan Murdoch

More information about the R-SIG-Mac mailing list