Xcode8发布后,Xcode SVN工具需要使用subversion 1.9来处理它。 但即使Mac上最新的subversion客户端也不支持subversion 1.9。 如cornerStone。 有没有什么方法xcode代码支持lowwer版本颠覆? Thanx非常多!
答案 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,并确定有两种方法可以做到这一点:
安装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
到目前为止,这一点非常顺利,我看到很少或没有性能问题。 您还可以抽象一点来运行旧版Xcode中的任何命令,我编写了一个通用命令模板并创建了一个符号链接/ usr / local / bin / svn来解决上述问题,以及启用任何其他命令从Xcode 7.3.1运行,只需在/ usr / local / bin中为它创建一个符号链接。
注意:这应仅用于不回调Xcode的简单命令,因此您不会开始混合可能导致问题的工具集。 Svn是一个足够原子的命令,到目前为止我没有任何问题。