Ich habe Jenkins seit etwa einem Jahr laufen lassen. Es baut Master, RC * und Produktionszweige auf. Bei jedem Commit führt es einen Git Clone aus, installiert ein Paket, führt eine Migration durch usw. Es funktioniert perfekt. Vor kurzem wurde es versagt und ich die folgenden Zurückverfolgungs bekommen:Was bedeutet, "FATAL: Fehler beim Berechnen der Merge-Base"?
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)
Mit der unmittelbar nach angezeigt folgenden:
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
Dieser Fehler zu begehen ist auch verwirrend, da alle Zweige es enthalten.
Was genau bedeutet, "Fehler beim Berechnen der Zusammenführungsbasis bedeuten?" und warum bekomme ich die fehlende Commit-Nachricht?
Alle Einblicke hier würden sehr geschätzt werden.
Danke.
git fsck:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (3203/3203), done.
In meiner Jenkins Konfiguration ist mein git Plugin Config auf:
- Wischen Sie Arbeitsplatz aus, bevor bauen
- Verwendung flacher Klon
Ich benutze Jenkins, ver. 1.528.
Scheint, dass Ihr lokaler Repo beschädigt wurde. Irgendeine seltsame Ausgabe von 'git fsck'? Auch, sind Ihre Fernbedienungen korrekt (bitte von Hand verifizieren). Eine andere Sache ist, Jenkins einzustellen, den Arbeitsbereich vor dem Ziehen zu bereinigen (d. H. Alle lokalen Änderungen zu verwerfen). Dafür gab es in der Projektkonfiguration eine Einstellung. – rlegendi
Sie sollten dies mit jenkins imho markieren – mnagel
Haben Sie immer flaches Klonen verwendet? Ich würde denken, dass, abhängig davon, wie flach ein Klon ist, es schwierig sein kann, eine Zusammenführungsbasis von zwei Zweigen zu finden (was im Wesentlichen das letzte Commit ist, das beide gemeinsam haben, oder den Punkt, wo die zwei Zweige auseinander gehen). Vielleicht hast du nie zuvor eine Situation erlebt, in der du zwei Zweige hattetest, deren Merge-Basis tief genug war, um von dem flachen Klon beschnitten zu werden ... – twalberg