Android Studio SVN 1.8 此客户端太旧,无法使用工作副本

Android Studio SVN 1.8 This client is too old to work with the working copy

希望有人能帮忙...

我下载了 SmartSVN 并在其中打开了一个工作副本(Android 项目)。它要求我将工作副本升级到 1.8。

我在使用 svn 客户端时没有遇到任何问题。但是我确实需要升级我的命令行 svn 客户端 (运行 OSX Yosemite).

现在,当我在命令行中键入 svn --version 时,它指向的是 1.8 版...奖励!

但是,在 Android Studio 中,当我 运行 assembleProductionRelease 时,我有一个 运行s svn 信息和附加修订号的阶段。

这是代码

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

的工作副本

编辑 我还修改了 Preferences -> Version Control -> Subversion 中的路径,它被称为 'Use command line client' 以指向正确路径中的 svn 文件。

我还在 Android studio 中使缓存失效,看看是否有帮助,但还是不行。

  1. 尝试更新您的 SVN 版本 - 下载最新版本的 SVN 并安装它。在选项中,将 SVN 路径设置为这个新版本的 bin 目录(或任何 svn 可执行文件所在的位置)。这应该可以解决此问题。

  2. 如未解决,请参见"Event Log"或"Terminal window"。您会看到类似 "svn version mismatch" 的内容 - 立即修复。单击立即修复。这将解决问题或打开左侧面板,其中 link 用于升级项目设置。

Mac 中有 Android Studio 的默认 SVN,位于 /usr/bin/svn。到现在还是1.7版本,但是大部分SVN客户端(比如SmartSVN)使用1.8,定位在/usr/local/bin/svn.

要修复您的 Android Studio,您可以更改 Preferences -> Version Control -> Subversion 并设置路径 /usr/local/bin/svn

要确定您的命令行选择了哪个 SVN,只需键入 which svn,它会显示 svn 命令指向的完整路径。你应该换到那里。

希望对您有所帮助。

2016 年 4 月 19 日更新

我分享截图:

经过几个小时的搜索,我终于找到了 Mac OsX 的解决方案(我有 Yosemite,但我认为其他版本的 OSx).

都在这个link中解释了:http://andowebsit.es/blog/noteslog.com/post/how-to-upgrade-subversion-on-osx/

编辑: 这里是 link 过期

的解决方案

首先,您必须使用 svn --version 确保安装的 SVN 客户端版本为 1.8。结果应该类似于:

svn --version
svn, version 1.8.13 (r1667537)
compiled Jun 5 2015, 19:21:21 on x86_64-apple-darwin14.3.0

如果你的svn版本不是1.8,使用brew安装新版本的subversion。

然后为了获得 svn 可执行文件的正确路径,您必须使用 which 命令:

which -a svn
/usr/bin/svn
/usr/local/bin/svn

最后转到 Android Studio Preferences -> Version Control -> Subversion 并将 /usr/local/bin/svn 字符串放入 Use command line client 选项中。

让 AndroidStudio 使用它的内部 SVN 客户端。

对我来说,这发生在我安装新版本的 svn 客户端 (TortoiseSVN) 时(在 Windows)。

如果您不想将工作副本更新到较新的版本,则必须让 AndroidStudio 使用它的内部 SVN 客户端,这可以在 File > Settings > Version Control >通过取消选中“使用命令行客户端”选项的复选框来颠覆

要更改本地工作副本的格式,请执行以下操作:

通过执行以下操作之一打开 版本控制工具 window: 在主菜单上,选择 查看 |工具 Windows |版本控制。 按 Alt+9。 切换到 Subversion 工作副本信息选项卡。 此选项卡仅在当前项目源完全或部分受 Subversion 控制时可用。

滚动到所需目录的信息,然后单击“更改”link。 请注意,Subversion 1.9 可以与本地工作副本 1.8 版一起使用,因此在这种情况下不会出现 Change link。

Convert Working Copy Format 对话框中,select 所需的格式选项。