About a month ago, I replaced my old SVN GUI client (svnX) with the excellent Versions SVN client from Pico. I won’t rave about it now; check it out for yourself and bask in the goodness.
One of the unfortunate side-effects of using Versions, however, was that after the mandatory upgrade of SVN from 1.4 (OS X default) to 1.5, BBEdit’s SVN support was broken. I kept getting the message “svn: This client is too old to work with working copy“. Grr.
I looked around in BBEdit’s preferences and even .plist files, to no avail. This morning I even filed a bug report with Bare Bones. Turns out that that was premature… BBEdit was doing the right thing all the time, using the system’s SVN. The problem was that I had multiple versions of SVN installed.
From the command line:
Cerberus:bin bantik$ which svn /usr/local/bin/svn Cerberus:bin bantik$ svn --version svn, version 1.5.1 (r32289) compiled Jul 25 2008, 12:47:20 ...
As expected. However, this was less than expected:
Cerberus:bin bantik$ find / -name "svn" -print | grep svn /opt/subversion/bin/svn /usr/bin/svn /usr/local/bin/svn
OK, but maybe some of those are links?
Cerberus:bin bantik$ ls -al /opt/subversion/bin/svn -rwxrwxr-x 1 admin admin 788520 Jul 25 14:05 /opt/subversion/bin/svn Cerberus:bin bantik$ ls -al /usr/bin/svn lrwxr-xr-x 1 root wheel 23 Jul 13 09:41 /usr/bin/svn Cerberus:bin bantik$ ls -al /usr/local/bin/svn lrwxr-xr-x 1 root wheel 23 Aug 3 19:39 /usr/local/bin/svn -> /opt/subversion/bin/svn
Aha! I’ve got an old version of SVN at /usr/bin. So let’s replace that with a symbolic link to the new version:
Cerberus:bin bantik$ sudo rm /usr/bin/svn Cerberus:bin bantik$ sudo ln -s /opt/subversion/bin/svn /usr/bin/svn
That should do it. I restarted BBEdit just to make sure, and now, like magic, Subversion integration works again.
2 Comments »