Using SVN 1.8.3 with Xcode 5

I upgraded the Subversion client on my system to version 1.8.3. I did a check on my repository from the Xcode 5 Source Control menu. Then this directory was opened in the terminal and ran the svn update to check. I get this message -

The working copy in '/ Path' is too old (format 29) to work with the client version '1.8.3 (r1516576)' (expects format 31). You need to update the working copy first.

If I update my copy, I lose access to the Source Control menu options because the version is too high for Xcode 5.

Later, I discovered this link to the XCode 5 Feature , which says that SVN for Xcode is in version 1.7.9.

  • I do not understand how there are 2 versions of SVN on my system (one is supported by Xcode, which is 1.7.9, and the other is 1.8.3)
  • How can I work with 1.8.3 and Xcode 5. I really want to use the Xcode GUI.
+6
source share
3 answers

Writing to 'defaults' will not work for Xcode 5. A newer version of Xcode sends with it its own SVN bin located at:

 /Applications/Xcode.app/Contents/Developer/usr/bin/ 

You need to replace this binary to upgrade the Xcode SVN client to version 1.8. Assuming that your new SVN client is located in / usr / local / bin / (the default installation path is brew), enter the following in the 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, had no problems at all.

+23
source
  • These are just two different client applications.
  • You can set the Subversion XCode client path by setting XCSubversionToolPath, for example. (replace with the actual svn 1.8 path):

     defaults write com.apple.Xcode XCSubversionToolPath /usr/local/bin/svn 
+9
source

The above solution eventually worked for me for Xcode 5.1; I shortened the code above, feel free to change directories accordingly (for example, since I use MacPorts, my svn binaries are in /opt/local/bin ):

 export xcode_dir=/Applications/Xcode.app/Contents/Developer/usr/bin export svn_files="svn svnadmin svndumpfilter svnlook svnrdump svnserve svnsync svnversion" export svn_dir=/opt/local/bin for f in $svn_files; do echo "sudo mv -v $xcode_dir/$f $xcode_dir/$f.bak && sudo ln -s $svn_dir/$f $xcode_dir/$f"; done | bash 

In addition to this, try deleting project.xcworkspace if you have any problems after updating SVN, and make sure that you are using the correct version of Xcode! (I was still running Xcode 5.1 BETA trying to check the changes made to the Xcode.app directory ... Stupid errors, but it took me a while to figure out)

+3
source

Source: https://habr.com/ru/post/955241/


All Articles