Я занимаюсь этой проблемой в течение нескольких дней без везения. Я нашел много сообщений, сообщающих о похожих проблемах, но не с просмотром кода Gerrit.Ошибка проверки кода Gerrit MissingObjectException при отправке изменений
Дело в том, что у нас есть репо, которое содержит много ветвей. Эта проблема имеет только одна ветвь (dev).
org.eclipse.jgit.errors.MissingObjectException: Missing unknown 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
at com.google.gerrit.server.git.MergeOp.integrateIntoHistory(MergeOp.java:497)
at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:433)
at com.google.gerrit.server.change.Submit.apply(Submit.java:225)
at com.google.gerrit.server.change.Submit.apply(Submit.java:83)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:341)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
Чтобы воспроизвести ошибку, просто сделайте изменение. Зафиксировать и нажать на gerrit refs/for/dev
. Как только я нажимаю на Submit
в Gerrit, я получаю вышеуказанную ошибку.
Изменения на сервере являются следующие:
- Геррит код Обзор (2.13.1)
- Гит-2.1.0
- Java 1.7.0_71
Бег git fsck
на стороне сервера верните Ok.
Запуск git show 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
возвращается
fatal: bad object 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
Изменение предпочтений проекта в Геррит от Merge if necessary
к Rebase if necessary
получил это исключение.
Caused by: com.google.gerrit.server.git.UpdateException: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
at com.google.gerrit.server.git.BatchUpdate.executeUpdateRepo(BatchUpdate.java:673)
at com.google.gerrit.server.git.BatchUpdate.execute(BatchUpdate.java:400)
at com.google.gerrit.server.git.MergeOp.integrateIntoHistory(MergeOp.java:478)
... 43 more
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:158)
at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:227)
at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
at org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:772)
at com.google.gerrit.server.git.CodeReviewCommit$CodeReviewRevWalk.parseCommit(CodeReviewCommit.java:110)
at com.google.gerrit.server.git.SubmoduleOp.updateSubmodule(SubmoduleOp.java:461)
at com.google.gerrit.server.git.SubmoduleOp.composeGitlinksCommit(SubmoduleOp.java:369)
at com.google.gerrit.server.git.SubmoduleOp$GitlinkOp.updateRepo(SubmoduleOp.java:85)
at com.google.gerrit.server.git.BatchUpdate.executeUpdateRepo(BatchUpdate.java:661)
... 45 more
Стоит отметить, что хэш 5f3190e131541cec4ef7176262eaf4a03c4a4e6c
не показывает где-нибудь на странице обзора Геррит кода (только в сообщении об ошибке). Любая новая фиксация вызовет эту ошибку.
Является ли 5f3190e131541cec4ef7176262eaf4a03c4a4e6c SHA показанным в поле «Commit» (между полями «Commiter» и «Parent (s)») на экране изменений? Или там еще есть SHA? –
Нет, он не отображается нигде на странице gerrit. Только в сообщении об ошибке. Я также обновил сообщение с этим комментарием. – Ayakout