6

我将系统上的 Subversion 客户端更新为 1.8.3。我从Xcode 5 的 Source Control菜单中检查了我的存储库。然后在终端中打开该目录并执行一个svn update命令来检查。我收到这条消息 -

'/Path' 的工作副本太旧(格式 29),无法与客户端版本 '1.8.3 (r1516576)' 一起使用(需要格式 31)。您需要先升级工作副本。

如果我升级我的副本,我将无法访问源代码控制菜单选项,因为版本对于 XCode 5 来说太高了。

后来我发现这个XCode 5 Features Link说 SVN for Xcode 的版本是 1.7.9。

  1. 我不明白我的系统上有 2 个版本的 SVN(一个由 Xcode 维护,1.7.9,另一个在 1.8.3)
  2. 我如何使用 1.8.3 和 Xcode 5。我真的很想使用 XCode 的 GUI。
4

3 回答 3

23

写入“默认值”不适用于 Xcode 5。较新版本的 Xcode 附带它自己的 SVN 二进制文件,位于:

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

您需要替换此二进制文件以将 Xcode 的 SVN 客户端升级到 1.8。假设您的新 SVN 客户端位于 /usr/local/bin/ (默认 brew 安装路径)中,在终端中键入以下内容:

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

我用 Xcode 5.1 和 SVN 1.8.8 做到了这一点,根本没有任何问题。

于 2014-03-17T10:53:50.473 回答
9
  1. 这些只是两个不同的客户端应用程序。
  2. 您可以通过设置 XCSubversionToolPath 来设置 XCode 的 subversion 客户端的路径,例如(替换为实际的 svn 1.8 路径):

    defaults write com.apple.Xcode XCSubversionToolPath /usr/local/bin/svn
    
于 2013-10-08T07:47:53.750 回答
3

上述解决方案最终对我来说适用于 Xcode 5.1;我已经缩短了上面的代码,请随时适当地更改您的目录(例如,因为我使用的是 MacPorts,所以我的 svn 二进制文件位于/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

除此之外,project.xcworkspace如果您在更新 SVN 后遇到问题,请尝试删除您的,并确保您运行的是正确版本的 Xcode!(在尝试验证我对 Xcode.app 目录所做的更改时,我仍在运行 Xcode 5.1 BETA ......愚蠢的错误,但我花了一段时间才弄清楚)

于 2014-03-17T17:21:54.060 回答