我下载了SmartSVN,并在其中打开了一个工作副本(Android项目)。它要求我将工作副本升级到1.8版。
在使用svn客户端时,这对我没有任何问题。但是,我确实需要升级我的命令行svn客户端(运行OSX Yosemite)。
现在,当我在命令行上键入svn --version时,它指向1.8版本...好棒!
但是,在Android Studio中,当我运行assembleProductionRelease时,有一个阶段会运行svn info并提取修订号。
这是代码:
def getSvnRevision() {
new ByteArrayOutputStream().withStream { os ->
def result = exec {
executable = 'svn'
args = ['info']
standardOutput = os
}
def outputAsString = os.toString()
def matchLastChangedRev = outputAsString =~ /Last Changed Rev: (\d+)/
return "${matchLastChangedRev[0][1]}"
}
}
这段代码不再运行并报告;
svn: E155021: 该客户端版本过旧,无法与xxx的工作副本一起使用
编辑:我还修改了首选项 -> 版本控制 -> Subversion 中的路径,该路径称为“使用命令行客户端”,将其指向正确路径中的svn文件。
我还在Android Studio中使缓存失效以查看是否有帮助,但仍然没有运气。