Xcode8是否支持颠覆1.7或1.8?

时间:2016-09-22 00:25:21

标签: xcode svn

Xcode8发布后,Xcode SVN工具需要使用subversion 1.9来处理它。 但即使Mac上最新的subversion客户端也不支持subversion 1.9。 如cornerStone。 有没有什么方法xcode代码支持lowwer版本颠覆? Thanx非常多!

2 个答案:

答案 0 :(得分:0)

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

所以你可以使用系统subversion 1.7像拷贝覆盖svn *文件。 它会没事的。

答案 1 :(得分:0)

Svn由Xcode提供,但是以垫片二进制形式提供:

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

此svn二进制文件似乎会更改版本,具体取决于您指向的Xcode。试试吧!我采用了svn的Xcode 7.3.1版本并将其移至Xcode8安装,版本从1.7.22更改为1.9.4,相同的二进制文件。

我需要将svn的版本锁定到1.7.22,并确定有两种方法可以做到这一点:

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

    #! /斌/庆典

    #将Xcode 7.3.1安装到/Applications/LegacyTools/Xcode-7.3.1.app
    #前缀PATH与/ usr / local / bin
    #此脚本应保存为/ usr / local / bin / svn

    set + x
    设置-e

    #找到旧的svn
    legacy_svn_cmd =“env DEVELOPER_DIR = / Applications / LegacyTools / Xcode-7.3.1.app / usr / bin / xcrun --find svn”
    legacy_svn_exe =`$ {legacy_svn_cmd}`

    #将args传递给新命令
    ARGS = $ @

    #construct命令
    cmd =“$ {legacy_svn_exe} $ args”

    #执行命令
    echo“Running cmd:”
    echo $ cmd
    $ CMD

  3. 到目前为止,这一点非常顺利,我看到很少或没有性能问题。 您还可以抽象一点来运行旧版Xcode中的任何命令,我编写了一个通用命令模板并创建了一个符号链接/ usr / local / bin / svn来解决上述问题,以及启用任何其他命令从Xcode 7.3.1运行,只需在/ usr / local / bin中为它创建一个符号链接。

    注意:这应仅用于不回调Xcode的简单命令,因此您不会开始混合可能导致问题的工具集。 Svn是一个足够原子的命令,到目前为止我没有任何问题。