svn: E155021: 此客户端版本过旧,无法与工作副本 xxx (格式 '31') 兼容。

11
我想在Spring Tool Suite中导入一些Gradle项目。我已经在STS中安装了Subclipse 1.10.5,我的机器上安装的svn客户端是1.8.8。我尝试在我的Mac上降级到1.7.10,但导入时仍然遇到相同的问题。
对于其他人来说,SVN 1.7.10和Subclipse 1.10.5似乎可以正常工作,但在我的机器上出现错误。
svn: E155021: This client is too old to work with the working copy at
  '/Users/agarg/Documents/Mars/trunk' (format '31')

我已经被卡在这里一段时间了,但无法解决这个问题。我在网上找到了很多方法,但还是卡住了。


当您从子版本服务器导入时,您是否遇到了此问题?或者它实际上在哪个操作中失败了? - DanielBarbarian
9个回答

20

我在Mac OS Yosemite上使用Webstorm和IntelliJ时遇到了这个问题。

svn --version命令行输出版本1.8,但是即使在Webstorm/IntelliJ中启用了命令行客户端选项并设置为svn,我仍然收到警告。

运行which svn并将值(对我来说是/usr/local/bin/svn)粘贴到WebStorm->Preferences->Version Control->Subversion->Use command line client中,删除了警告并解决了我在Webstorm和IntelliJ中遇到的问题。


@Aliya,你也看过其他的解决方案了吗?在这种情况下,可能有几个潜在的根本原因(正如你可以从不同的答案中看出)。 - Tmarty
请参考https://dev59.com/il8e5IYBdhLWcg3w2dYD#41137577,希望这能解决问题。 - Ahsan

3

1

1

我在OSX上遇到了同样的问题。我已经按照这里的逐步指南成功升级了SVN

URL: http://andowebsit.es/blog/noteslog.com/post/how-to-upgrade-subversion-on-osx/

首先检查你当前的svn版本:

$ svn --version
  svn, version 1.7.17 (r1591372)
  compiled Aug  7 2014, 17:03:25
  ...

似乎是旧版本,所以请更新它。

$ brew update
$ brew install subversion

安装需要几秒钟时间。现在检查一下你有多少个svn,你会看到另一个条目在下面。
$ which -a svn
 /usr/bin/svn
 /usr/local/bin/svn

使用文本编辑器打开 ~/.bash_profile 文件。
export PATH="/usr/local/bin:$PATH"

然后

$ source ~/.bash_profile

$ svn --version
svn, version 1.8.10 (r1615264)
compiled Aug 25 2014, 10:57:58 on x86_64-apple-darwin13.3.0
...

现在您将看到 SVN 版本已从 1.7 升级到 1.8

0

在MAC OS X上遇到了这个错误,但你认为你有正确的版本?

首先看一下svn的数量。

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

使用 --version 标志查看每个输出的输出。您可能会注意到,默认输出与默认命令输出不同:

$ command -v svn
/usr/bin/svn
$ which svn
/usr/local/bin/svn

你可能会想要更新一些符号链接或者 PATH 变量,但在这样做之前,请尝试从一个新的控制台运行程序。有可能是因为你在安装最新版本之前打开了一个控制台窗口。我甚至建议在尝试更改 PATH 或符号链接之前先尝试重新启动。


0

我也遇到了同样的问题(在W7上使用SVN 1.8客户端,STS 3.6.3,eclipse插件:subversive SVN Team provider 1.1.x和SVNKit Implementation 3.0.x)。

将SVN Team provider升级(在STS中)到2.03.x和SVNKit升级到4.1.2解决了这个问题。


0
最简单的方式:
1. 在终端中执行which -a svn
2. 修改环境文件(如~/.bash_profile),并使用旧版本svn;
3. 使用旧版svn检出svn代码;
4. 将其导入您的IDE;
5. 完成。

0

在我的Java程序中,从SVN检出代码时遇到了类似的问题。

为了解决这个问题,我关闭了Eclipse工作区并删除了我正在本地目录中检出文件的文件夹。这对我起作用了。


0
感谢所有人提供的解决方案。我为这个问题苦苦挣扎了几天。我安装了旧版本1.7,使用Cygwin环境的PC登录。
后来,我不得不安装版本1.9,因为我想使用svn命令。大部分时间我都在寻找我的PC上的/.bash_profile文件或者具有路径usr/local/bin的文件。
但我总是找到cygwin/usr/local/bin路径。我一直忽视它。
经过多次尝试和错误之后,我冒险尝试了一个简单的方法。我去了环境变量“PATH”,将路径“C:\Program Files\TortoiseSVN\bin\bin”剪切并粘贴在“cygwin/usr/local/bin”之前。
之后,svn --version检测到我的最新版本1.9 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接