[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
this".
- 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
Subversion.
- 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