Jenkins git fetch因未知选项--progress而失败

时间:2014-02-12 18:04:13

标签: git jenkins

我们一直使用詹金斯建立一个项目超过两年。我们最近更新了jenkins和插件(我们需要maven-3功能),现在它无法进行简单的git fetch。这是错误消息:

    FATAL: Failed to fetch from https://github.com/powertac/sample-broker.git
hudson.plugins.git.GitException: Failed to fetch from https://github.com/powertac/sample-broker.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:625)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:847)
    ...
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress https://github.com/powertac/sample-broker.git +refs/heads/*:refs/remotes/origin/*" returned status code 129:
stdout: 
stderr: error: unknown option `progress'
usage: git fetch [options] [ ..]

如您所见,jenkins发出的命令行包含一个未知选项--progress。我搜索了配置文件,无法找到它的来源。以下是相关的版本号:

詹金斯:1.550
JenkinsGitPlugin:2.0.1
git:1.7.0.4
操作系统:Ubuntu 10.04

我错过了什么?

1 个答案:

答案 0 :(得分:3)

不幸的是,它在Git Client Plugin中是硬编码的,这是Git Plugin的依赖。

版本1.7.1中获取命令become available的Git --progress选项。

自1.5.0版以来git fetch 命令的Git客户端插件started using --progress选项。

在此之前,在版本1.4.6中,Git Client插件在决定之前使用了git clone 命令而不是 fetch made a check已安装的git版本是否使用--progress选项(自git 1.7.0版以来,become available用于git clone 命令。)

从最直接的问题开始,解决问题的可能方法是:

  • 在您的系统上获得更新的(1.7.1+)版本的git;在Ubuntu上获取最新版本的软件可能会成为一个问题,因此您可能需要检查this thread
  • 请求Git Client插件团队添加对git 1.7.0的支持,等到他们发布新版本,然后再使用它
  • 安装旧版(1.4.6)版本的Git Client Plugin;请注意,您可能还需要降级Git插件以保持兼容性
  • 在您自己的本地修补Git客户端插件
  • ...想出更痛苦的事情:)