Jenkins:SVN工作副本版本无效

30
我们的构建服务器运行Jenkins 1.502,并升级了Subversion插件至版本1.45。此插件使用svnkit-1.7.6-jenkins-1.jar
同时,我们安装了SVN客户端1.7.8。
Jenkins成功从SVN存储库中检出源代码。但是,当我进入工作区目录并手动运行一些svn命令时,它失败了:
# cd /var/lib/jenkins/jobs/myproject/workspace/
# svnversion
svn: E155036: Working copy '/var/lib/jenkins/jobs/myproject/workspace' is too old (format 8, created by Subversion 1.4)
错误信息表明,工作副本是由SVN 1.4创建的,但svnkit的版本是1.7.6。这怎么可能呢?
我搜索整个文件系统,没有任何其他的svnkit-*.jar文件。

你尝试过在升级后检查一个新的工作区而不是使用升级前创建的工作区吗? - Shiva Kumar
@ShivaKumar,我可以升级工作区并在其中工作。但是我想知道为什么它是在1.4版本中创建的。这会阻止我使用自动化工具。 - Andrey
2个回答

69

Jenkins中有一个选项可以告诉SVN使用哪种工作副本格式(管理Jenkins>配置系统),查找“Subversion Workspace Version”下拉菜单 - 它可能设置为1.4。将其更改为列表中的最新版本。


4
这个方法奏效了。只需要清除存储库,让更改生效即可。 - tourdownunder
仓库位于[jenkins]/workspace/jenkins-project-name。 - vinnyjames
在进行以上更改后,您可以使用 svn upgrade 命令行修复现有的存储库。请参阅 svn 源文件 wc.h 以了解 svn 客户端版本与工作副本格式之间的非明显映射。 - Robert Calhoun
非常感谢!可惜这个功能藏得有点深 - 至少应该从插件安装信息或作业配置部分提供一些指示。 - Michael Firth

6

由于依赖关系,我无法将Subversion降级到1.7。

另一种解决方法是在作业配置中添加“前置步骤/执行Shell”并使用命令svn upgradecd trunk; svn upgrade

这适用于Ubuntu 14.04上的Subversion 1.8.8。


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