I updated the Subversion client on my system to 1.8.3. I did a checkout of my repository from Xcode 5's Source Control
menu. Then in terminal opened that directory and did an svn update
command just to check. I get this message -
The working copy at '/Path' is too old (format 29) to work with client version '1.8.3 (r1516576)' (expects format 31). You need to upgrade the working copy first.
If I upgrade my copy, I lose access to the Source Control menu options because the version is too high for XCode 5.
Later on I found this XCode 5 Features Link which says that SVN for Xcode is at version 1.7.9.
Writing to 'defaults' won't work for Xcode 5. Newer version of Xcode ship with it's own SVN binary located in:
/Applications/Xcode.app/Contents/Developer/usr/bin/
You need to replace this binary to upgrade Xcode's SVN client to 1.8. Assuming your new SVN client is located in /usr/local/bin/ (default brew install path) type the following in a terminal:
cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo mv ./svn ./svn.org
sudo mv ./svnadmin ./svnadmin.org
sudo mv ./svndumpfilter ./svndumpfilter.org
sudo mv ./svnlook ./svnlook.org
sudo mv ./svnrdump ./svnrdump.org
sudo mv ./svnserve ./svnserve.org
sudo mv ./svnsync ./svnsync.org
sudo mv ./svnversion ./svnversion.org
sudo ln -Ff /usr/local/bin/svn svn
sudo ln -Ff /usr/local/bin/svnadmin svnadmin
sudo ln -Ff /usr/local/bin/svndumpfilter svndumpfilter
sudo ln -Ff /usr/local/bin/svnlook svnlook
sudo ln -Ff /usr/local/bin/svnrdump svnrdump
sudo ln -Ff /usr/local/bin/svnserve svnserve
sudo ln -Ff /usr/local/bin/svnsync svnsync
sudo ln -Ff /usr/local/bin/svnversion svnversion
I did this with Xcode 5.1 and SVN 1.8.8, haven't had any problems at all.
You can set the path to XCode's subversion client by setting XCSubversionToolPath, e.g. (replace with actual svn 1.8 path):
defaults write com.apple.Xcode XCSubversionToolPath /usr/local/bin/svn
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With