7

我已经让 Jenkins 运行了大约一年。它构建 master、rc* 和 production 分支。每次提交时,它都会执行 git clone、安装包、运行迁移等。它运行良好。最近,它一直失败,我得到以下回溯:

FATAL: Error computing merge base
hudson.plugins.git.GitException: Error computing merge base
  at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:149)
  at hudson.plugins.git.util.DefaultBuildChooser.getAdvancedCandidateRevisions(DefaultBuildChooser.java:201)
  at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:46)
  at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1057)
  at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
  at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2417)
  at hudson.remoting.UserRequest.perform(UserRequest.java:118)
  at hudson.remoting.UserRequest.perform(UserRequest.java:48)
  at hudson.remoting.Request$2.run(Request.java:326)
  at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
  at java.util.concurrent.FutureTask.run(FutureTask.java:166)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:679)

之后立即显示以下内容:

Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit 2faf546491565d033b1e0a79bef4b2d107447f49
  at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:149)
  at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:853)
  at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:142)
  at org.eclipse.jgit.revwalk.MergeBaseGenerator.next(MergeBaseGenerator.java:148)
  at org.eclipse.jgit.revwalk.StartGenerator.next(StartGenerator.java:102)
  at org.eclipse.jgit.revwalk.RevWalk.next(RevWalk.java:414)
  at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:127)
  ... 14 more

这个提交错误也令人困惑,因为所有分支都包含它。

“错误计算合并基数”到底是什么意思?为什么我会收到丢失的提交消息?

这里的任何见解将不胜感激。

谢谢。

git fsck:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (3203/3203), done.

在我的 Jenkins 配置中,我的 git 插件配置设置为:

  1. 在构建之前清除工作空间
  2. 使用浅克隆

我正在使用 Jenkins,版本。1.528。

4

1 回答 1

8

根据上述 twalberg 的评论,禁用浅层克隆解决了这个问题。所有分支机构都建成并完成了工作。

于 2013-09-27T18:19:03.710 回答