Mac 10.9 上的 Subclipse/Subversion,ANT 调用 svn 信息"too old"错误



我有一个新安装的Eclipse Kepler Service Release 2, Build id 20140224-0627。我使用Eclipse Marketplace安装Subclipse 1.10。我把Mac升级到了Subversion 1.8.8。检查"svn——version"确认:

svn,版本1.8.8 (r1568071)编译Feb 18 2014, 20:15:10 on x86_64-apple-darwin13.0.0

然而,在Eclipse中使用新的代码签出,每当我尝试运行ANT任务(通过Eclipse右键单击)时,我都会得到"此客户机太旧了……"错误。这种情况不会发生在签出或提交到代码库时,只有在运行ANT任务时才会发生。

在我的ANT文件中首先运行的初始化任务调用"svn——info"。如果我在工作空间的根目录下从命令行运行此命令,我将返回通常的svn info内容:repo root, UUID等。

然而,当我运行ANT并从我的init任务中调用svn info时,我得到的错误消息如下:

 [echo] svn_info is svn: E155021: This client is too old to work with the working copy at
 [echo] '/Users/<username>/Documents/workspace/myCode' (format 31).

我理解这条信息的基本意思。但是在我的印象中,Subclipse 1.10是为Subversion 1.8.8发布的。显然我错了。谁能告诉我最简单的方法?

我的ANT "svn info"是否像我认为的那样调用Mac svn ?或者还有别的地方需要设置构型吗?我需要安装旧版本的Subclipse吗?当Eclipse Marketplace总是只提供最新版本时,我该如何从它做到这一点呢?这么多问题,这么少时间……

同一台机器上安装了多个SVN客户端,且客户端版本不同时,会出现此问题。如。如果你使用1.8版本的Tortose Svn检查源代码,如果你尝试使用像1.7版本的silksvn这样的命令行工具,你将会得到这个错误。所以基本上你需要更新给出这个错误的客户端到最新版本。

在你的特殊情况下,你的ant脚本使用的svn工具可能是(svnant.jar和svnClientAdapter.jar),需要更新到最新版本。我希望这有助于解决你的问题:)

最新更新