51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6063|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-16 14:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 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等)


    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-19 13:36 , Processed in 0.062601 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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