【问题标题】:Subclipse/Subversion on Mac 10.9, ANT calling svn info gets back "too old" errorMac 10.9 上的 Subclipse/Subversion,ANT 调用 svn 信息返回“太旧”错误
【发布时间】:2014-06-24 14:08:12
【问题描述】:

我全新安装了 Eclipse Kepler Service Release 2,内部版本号 20140224-0627。我使用 Eclipse Marketplace 安装 Subclipse 1.10。我将 Mac 升级为使用 Subversion 1.8.8。检查“svn --version”证实了这一点:

svn,版本 1.8.8 (r1568071) 于 x86_64-apple-darwin13.0.0 于 2014 年 2 月 18 日 20:15:10 编译

但是,在 Eclipse 中使用新的代码签出时,每当我尝试运行 ANT 任务(通过 Eclipse 右键单击​​)时,我都会收到“此客户端太旧...”错误。仅当我运行我的 ANT 任务时,签出或提交到我的代码库时才会发生这种情况。

在我的 ANT 文件中首先运行的初始化任务调用“svn --info”。如果我从工作区根目录中的命令行运行它,我会返回通常的 svn 信息内容: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 始终只为我提供最新版本时,我该如何做到这一点?这么多的问题,这么少的时间......提前谢谢。

【问题讨论】:

    标签: java eclipse svn ant


    【解决方案1】:

    当SVN的多个客户端安装在同一台机器上并且这些客户端具有不同的版本时,会出现此问题。 例如 如果您现在使用 1.8 版的 Tortose Svn 检查您的源代码,如果您尝试使用带有 1.7 版的 Silksvn 等命令行工具,您将收到此错误。因此,基本上您需要将出现此错误的客户端更新为最新版本。

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

    【讨论】:

    • 谢谢,但是 ANT 正在调用可执行系统版本(exec executable="svn" and arg line="info"),而我根本没有包含 svnant.jar。很确定这意味着 svn 1.8.8 的系统版本在某种程度上不如 Subversion 1.10 svn 新。这就是令人费解的地方,因为文档似乎说 Subclipse 1.10 是为 svn 1.8.8 构建的。那一定是我错了,谢谢!
    • 是的,而不是你的情况,这正是它的意思。您需要检查 svn 可执行文件的版本。
    • 是的。显然我只是不同步。将 svns 升级到完全匹配就可以了。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2012-11-27
    • 2011-03-29
    • 2011-06-22
    • 1970-01-01
    • 2012-02-25
    • 2019-12-09
    • 1970-01-01
    相关资源
    最近更新 更多