git - "FATAL: Error computing merge base"是什么意思?

标签 git jenkins

我已经让 Jenkins 运行了大约一年。它构建 master、rc* 和生产分支。在每次提交时,它都会执行 git 克隆、捆绑安装、运行迁移等。它一直在完美运行。最近,它一直在失败,我得到以下回溯:

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

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

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

如有任何见解,我们将不胜感激。

谢谢。

git fsck:

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

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

  1. Wipe out workspace before build
  2. Use shallow clone

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

最佳答案

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

关于git - "FATAL: Error computing merge base"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18621134/

相关文章:

linux - 更新时如何使分支更改反射(reflect)在主服务器上?

docker - 如何从主机访问Docker容器的内部IP地址?

http - 在 Jenkins 中启用 HTTPS?

JavaDoc不会在jenkins上发布

regex - 我如何仅过滤掉Jenkins-email-ext,BUILD_LOG_REGEX中的错误?

performance - AWS EC2 t2.micro 无限 | Jenkins Maven |很慢|构建挂起

通过 HTTPS 进行的 Git 克隆在 Docker makefile 中不起作用

Git rebase 和 Vim 编辑器

git - 如何在 checkout 之前的提交后返回到最新的提交?

git - 从 TFS 克隆所有远程存储库