使用 SVNKit 执行结帐时是否可以将工作副本版本强制为 1.7 或 1.8?

Is it possible to force working copy version to 1.7 or 1.8 when performing a checkout with SVNKit?

我有一个工具可以使用 SVNKit 来执行一些自动化任务。该工具必须与不同环境中的其他工具共存。因此,在某些情况下,我必须检查存储库,以便工作副本为 1.7 版,而其他版本为 1.8 版。 (不幸的是,我无法升级以在所有地方使用 1.8 客户端)

结帐如下:

SVNClientManager svnClientManager = SVNClientManager.newInstance();
SVNUpdateClient updateClient = svnClientManager.getUpdateClient();
updateClient.doCheckout(
        SVNURL.parseURIEncoded(uri), dstDir, 
        SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY, true);

显然,根据使用的 SVNKit 版本(1.7 或 1.8),本地工作副本具有相同的格式。

目前,解决方案是拥有两个版本的工具,唯一的区别是 SVNKit 库的版本。但是我想要一个单一的版本,可以配置为使用svn 1.7或1.8格式。

是否可以使用 SVNKit 1.8 强制使用所需的工作副本格式?

看来不可能。每个版本的 SVNKit 只在当前版本中进行检出(就像 svn 工具一样)。

解决方法是发布两个版本,并在工具启动时配置要在类路径中使用的版本。