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?
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.