51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【103期】:如何快速掌握软件测试工具! 【专访】商莉:如何从零开始做好接口自动化 【干货】各大公司测试大牛职场晋升宝典 自学软件测试那点事
查看: 412|回复: 0

[转贴] Jenkins Subversion Plugin与本地Subversion Command不兼容

[复制链接]

该用户从未签到

发表于 2019-1-25 15:16:55 | 显示全部楼层 |阅读模式
使用Jenkins时Jenkins Subversion Plugin与本地Subversion Command不兼容
1、使用场景

在使用jenkins时,先使用Jenkins Subversion Plugin执行checkout或update操作,然后经过一些列操作后在batch命令行调用svn update命令行

2、错误详情
在batch命令行调用svn update命令行时,出现如下错误:
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: The working copy at 'xxx' is too old (format 8) to work with client version '1.8.10 (r1615264)' (expects format 31). You need to upgrade the working copy first.

3、软件环境

Jenkins ver. 1.592
TortoiseSVN 1.8.8(Subversion 1.8.10,安装TortoiseSVN同时安装了Subversion Command)
Jenkins Subversion Plugin 1.54(Jenkins ver. 1.592自带)

4、错误分析
错误很明显,是Jenkins Subversion Plugin与本地Subversion Command不兼容
Jenkins Subversion Plugin 1.54不支持svn 1.8,主要表现在不支持1.8版本的working copy

5、解决问题
只要让TortoiseSVN和Jenkins Subversion Plugin支持的svn版本保持一致即可解决问题
或者降低TortoiseSVN的版本,或者升级Jenkins Subversion Plugin到支持svn 1.8的版本,或者只用其中某一个

(1)降低TortoiseSVN的版本
如果降低TortoiseSVN的版本,应该将其降为1.7还是1.6呢?
先看看Jenkins Subversion Plugin 1.54是基于1.6还是1.7开发的。

通过查看Jenkins Subversion Plugin 1.54的源码(https://github.com/jenkinsci/sub ... tag/subversion-1.54
在pom.xml中看到svnkit相关的dependency信息如下:
<dependency>      
     <groupId>org.jenkins-ci.svnkit</groupId>      
     <artifactId>svnkit</artifactId>      
     <version>1.7.10-jenkins-1</version>
</dependency>
从中得出,SVNKIT的版本是1.7.10

在SVNKIT官网相关页面(http://svnkit.com/download.php)得知:
SVNKit 1.8.7 is compatible both with Subversion 1.8 and Subversion 1.7 working copy formats. No upgrade is required for working copies in 1.7 format.
SVNKit 1.7.13 is NOT compatible with Subversion 1.8 working copy format. It is compatible with Subversion 1.8 servers.
Both SVNKit 1.7.13 and 1.8.7 support 1.6 and older working copy formats without need to upgrade.
查看SVNKIT1.7.13的changelog(http://svn.svnkit.com/repos/svnkit/tags/1.7.13/CHANGES.txt)
可以看出SVNKIT从1.7.8版本开始支持svn 1.6,SVNKIT1.7.10应该既支持svn 1.7又支持svn1.6。

同时, 在Jenkins的系统管理→系统设置中,可以设置Subversion的版本。

所以将TortoiseSVN降为1.7或1.6均可,只要保持 TortoiseSVN与Jenkins设置的Subversion保持一致即可 。

(2)升级Jenkins Subversion Plugin到支持svn 1.8的版本
在Jenkins的系统管理→插件管理页面,关于Subversion Plugin的信息得知Jenkins Subversion Plugin 当前版本为1.54,最新版本为2.5
查看Jenkins Subversion Plugin的changelog( https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin

可以看出,Jenkins Subversion Plugin 2.5已支持svn 1.8
所以将Jenkins Subversion Plugin升级到2.5版本即可。

(3)只用TortoiseSVN带的Subversion Command
如果不想降低TortoiseSVN版本或升级Jenkins Subversion Plugin
可以只用TortoiseSVN带的Subversion Command
因为Subversion Command与Jenkins Subversion Plugin相比:
灵活、功能多(如commit、merge等)


回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2019-6-17 16:58 , Processed in 0.057963 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表