在 Xcode 5 中使用 SVN 1.8.3

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19177699/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 04:00:26  来源:igfitidea点击:

using SVN 1.8.3 with Xcode 5

xcodesvnxcode5

提问by Tushar Koul

I updated the Subversion client on my system to 1.8.3. I did a checkout of my repository from Xcode 5'sSource Controlmenu. Then in terminal opened that directory and did an svn updatecommand just to check. I get this message -

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

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.

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

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

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

Later on I found this XCode 5 Features Linkwhich says that SVN for Xcode is at version 1.7.9.

后来我发现了这个XCode 5 功能链接,它说 Xcode 的 SVN 版本为 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.
  1. 我不明白我的系统上有 2 个版本的 SVN(一个由 Xcode 维护,它是 1.7.9,另一个是 1.8.3)
  2. 我如何使用 1.8.3 和 Xcode 5。我真的很想使用 XCode 的 GUI。

回答by Aron Lindberg

Writing to 'defaults' won't work for Xcode 5. Newer version of Xcode ship with it's own SVN binary located in:

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

/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:

您需要替换此二进制文件才能将 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

I did this with Xcode 5.1 and SVN 1.8.8, haven't had any problems at all.

我用 Xcode 5.1 和 SVN 1.8.8 做了这个,完全没有任何问题。

回答by Eran

  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
    
  1. 这只是两个不同的客户端应用程序。
  2. 您可以通过设置 XCSubversionToolPath 来设置 XCode 的 subversion 客户端的路径,例如(替换为实际的 svn 1.8 路径):

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

回答by dave

The above solution ultimately did work for me for Xcode 5.1; I have shortened the code above, feel free to change your directories appropriately (e.g., since I am using MacPorts my svn binaries are in /opt/local/bin):

对于 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

In addition to this, try deleting your project.xcworkspaceif you are running into trouble after updating SVN, and make sure you are running the correct version of Xcode! (I was still running Xcode 5.1 BETA while attempting to validate changes I made to the Xcode.app directory... Stupid mistake but it took me a while to figure out)

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