macossvndifffilemergeopendiff

trying to setup svn external diff program on mac


I'm having problems trying to setup an external diff program for svn on Mac OSX Lion. I have both xxdiff and opendiff installed.

I add these lines to ~/.subversion/config:

diff-cmd = opendiff
diff3-cmd = opendiff

or

diff-cmd = /Applications/xxdiff.app/Contents/MacOS/xxdiff
diff3-cmd = /Applications/xxdiff.app/Contents/MacOS/xxdiff

But when I invoke svn, I get this error:

svn: /Users/tre11/.subversion/config:49: Option expected

How do I fix this problem?


Solution

  • There aren't many diff utilities, aside from the GNU ones of course, that will take the parameters as given by svn (bbdiff is one of the few). You need to wrap the call in a shell script. It's explained in the subversion docs.

    Edit Based on your comment that the default text diff is still being run, I think there's an error in your .subversion/config file. That's consistent with your error message. The most likely cause is a space at the beginning of the diff-cmd line. Yes, subversion's parser freaks out at spaces at the beginning of the line. I put a space at the beginning of my diff-cmd line and got the same "Option expected" error.