Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using SVN 1.8.3 with Xcode 5

Tags:

xcode

svn

xcode5

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.

  1. I dont understand how there are 2 versions of SVN on my system ( one maintained by Xcode that is 1.7.9 and other at 1.8.3)
  2. How do I work with 1.8.3 and Xcode 5. I really want to use XCode's GUI.
like image 816
Tushar Koul Avatar asked Oct 04 '13 09:10

Tushar Koul


Video Answer


2 Answers

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.

like image 88
Aron Lindberg Avatar answered Nov 15 '22 07:11

Aron Lindberg


  1. These are simply two different client applications.
  2. 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
    
like image 26
Eran Avatar answered Nov 15 '22 06:11

Eran