Xcode:错误 - >构建失败 - >请升级您的Subversion客户端以使用此工作副本

时间:2011-11-25 11:33:25

标签: ios xcode svn

我正在使用Xcode 4.2.1。我在iOS模拟器上运行现有应用程序时遇到此问题:

svn: The path '.' appears to be part of a Subversion 1.7 or greater
working copy.  Please upgrade your Subversion client to use this
working copy.
/Users/me/Library/Developer/Xcode/DerivedData/myproject-dxfzldckuqdmlrghowwkdrbgoigy/Build    /Intermediates/myproject.build/Debug-iphonesimulator/MyProject.build/Script-9567AEA113C59633000AA291.sh: No Subversion revision found at /Users/me/Library/Developer/Xcode/DerivedData/myproject-dxfzldckuqdmlrghowwkdrbgoigy/Build/Intermediates/myproject.build/Debug-iphonesimulator/MyProject.build/Script-9567AEA113C59633000AA291.sh line 32.
Building revision 
Command /bin/sh failed with exit code 1

我安装了Subversion服务器1.7.1,并且在客户端我升级到1.7.1。 我做了一个svn upgrade,然后我在Xcode中得到了这个错误。

如果我在终端上重复svn upgrade,我会收到消息Can't upgrade '...' as it is not a pre-1.7 working copy directory

那有什么不对?我如何解决问题?

最诚挚的问候蒂姆

3 个答案:

答案 0 :(得分:8)

有一篇帖子似乎暗示您可以通过更改PATH并在战略位置设置几个软链接来欺骗XCode使用svn 1.7客户端。不幸的是,the post是中文的。幸运的是,Google translate和UNIX命令的存在使解密帖子的内容成为可能。我会在接下来的几天内尝试一下,如果这个练习中有任何有用的东西,我会更新答案。

编辑:我尝试了帖子中的步骤,但它确实有效。这是我做的:

  • 将svn client 1.7.2下载并安装到/opt/subversion
  • 将{opt / subversion / bin添加到PATH
  • 中的.bash_profile
  • 创建了备份目录/Developer/usr/bin/orig.svn
  • /Developer/usr/bin/svn*移至/Developer/usr/bin/orig.svn
  • ln -s /opt/subversion/bin/svn* /Developer/usr/bin/

之后我重新启动了XCode,去了Organizer,并且能够附加使用svn 1.7.2客户端创建的结帐的工作副本。组织者在存储库旁边显示了一个绿点,显示了修订列表等,所以此时我相信这个技巧已经奏效。

答案 1 :(得分:7)

Xcode尚不支持SVN 1.7。仅支持1.6。为了解决您的问题,您需要切换到使用兼容SVN 1.6的工作副本。

由于SVN 1.7客户端根本无法使用1.6个工作副本,因此您需要从客户端删除SVN 1.7.x并恢复为1.6。 (或者也许只是调整你的PATH,所以SVN 1.6工具是第一个。)一旦1.6回来,删除或移开现有的工作副本并检查SVN 1.6的新副本。现在,Xcode应该可以使用您的工作副本。

请注意,您可以在SVN 1.7服务器上自由使用SVN 1.6客户端。一些较新的功能将无法使用,但它将起作用。无需降级服务器或服务器端存储库。

密切关注更新中的Xcode发行说明,因为我确信Apple会在Xcode能够使用SVN 1.7时注意到。当Xcode的1.7兼容版本可用时,将客户端升级到1.7并再次迁移工作副本应该是安全的。

答案 2 :(得分:0)

您可以从http://www.wandisco.com/subversion/download#osx

下载并安装二进制包

/opt/subversion中安装了xcode版本的SVN时,软件包将安装到/usr/bin。如果 /opt/subversion/bin添加到路径变量中,则会选择它而不是xcode版本。

如果您不想弄乱您的路径,您可以为一个版本或另一个版本添加别名。 man alias了解详情。