2013-09-04 10 views
6

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:

  1. Wischen Sie Arbeitsplatz aus, bevor bauen
  2. Verwendung flacher Klon

Ich benutze Jenkins, ver. 1.528.

+0

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

+0

Sie sollten dies mit jenkins imho markieren – mnagel

+0

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

Antwort

7

Per Twalbergs Kommentar oben hat das Deaktivieren des flachen Klons dieses Problem gelöst. Alle Niederlassungen gebaut und Jobs abgeschlossen.

+0

Sie müssen beide Aktionen ausführen: Aktivieren: Arbeitsbereich vor dem Build löschen, Deaktivieren: Verwenden Sie flachen Klon –

+0

Bitte teilen Sie die Schritte? –

Verwandte Themen