2016-09-22 69 views
0

Xcode8发布后,Xcode SVN工具需要subversion 1.9才能使用它。 但即使是Mac上最新的颠覆客户端也不支持subversion 1.9。 如cornerStone。 有没有什么办法,Xcode代码支持低版本颠覆? 非常感谢!Xcode8支持Subversion 1.7或1.8吗?

回答

0

颠覆由XCode集成。 您可以在/Applications/Xcode.app/Contents/Developer/usr/bin/svn*中看到它。

因此,你可以使用系统颠覆1.7像复制覆盖svn *文件。 它会好的。

0

SVN由Xcode中提供,但在垫片二进制形式:

https://macops.ca/developer-binaries-on-os-x-xcode-select-and-xcrun

这SVN二进制文件将出现改变的版本,这取决于你Xcode中它指向的。尝试一下!我拿了一个Xcode 7.3.1版本的svn,并将它移动到Xcode8安装版本,版本从1.7.22更改为1.9.4,相同的二进制文件。

我需要SVN版本锁定至1.7.22,并决定没什么两种方法可以做到这一点:

  1. 重建SVN自己。有很多选择,这将很难与苹果在这里做的事情相匹配。
  2. 安装旧版本的Xcode 7.3.1,并编写一个包装脚本来淘汰旧版本的svn。我用bash脚本做了这个:

    #! /斌/庆典

    #安装的Xcode 7.3.1到/Applications/LegacyTools/Xcode-7.3.1.app
    #前缀路径以在/ usr/local/bin目录
    #这个脚本应该被保存为在/ usr/local/bin目录/ SVN

    一套+ X
    集-e

    #查找旧的svn
    legacy_svn_cmd =“ENV DEVELOPER_DIR = /应用/ LegacyTools/Xcode-7.3.1.app/U sr/bin/xcrun --find svn“
    legacy_svn_exe =‵ $ {legacy_svn_cmd}‵

    #传递参数传递给新的命令
    ARGS = $ @

    #构建命令
    CMD = “$ {legacy_svn_exe}的$ args”

    #执行命令
    回声 “运行CMD”
    echo $ cmd
    $ cmd

到目前为止,这一切都非常好,我看到很少或没有性能问题。 你也可以抽象一点来运行老版本的Xcode中的任何命令,我写了一个通用命令模板并创建了一个符号链接/ usr/local/bin/svn来解决上述问题,并且启用了其他命令从Xcode 7.3.1运行,只需在/ usr/local/bin中为它创建一个符号链接即可。

注意:这只适用于不会回调Xcode的简单命令,所以您不会开始混合可能导致问题的工具集。 Svn是一个足够原子的命令,迄今为止我还没有遇到任何问题。