2010-06-09 4 views
5

Ich habe ein seltsames Problem mit der Aktualisierung von Mercurial. Jedes Mal, wenn ich eine Datei zu meinem Repository hinzufüge und dann einen anderen Speicherort des Repositorys aktualisiere (zum Beispiel mit einem CI-Prozess), tritt der Fehler "Keine Übereinstimmung gefunden" auf. Wenn ich dann den ganzen Ordner entferne und ihn erneut kloniere, gibt es keine Probleme und die neuen hinzugefügten Dateien sind da. Aktualisieren und Entfernen doesnt geben ProblemeMercurial Hinzufügen neuer Datei gibt keinen Treffer gefunden Fehler

Als ich tun "a" Verify folgt dargestellt:

data/[email protected]: fehlende revlog! 54: leer oder fehlt test.txt [email protected]: b80de5d13875 in manifesten nicht gefunden 3 integritätsfehler aufgetreten! (erstes beschädigtes Changeset scheint 54 zu sein)

Irgendeine Idee, was dieses verursachen könnte?

EDIT

Die komplette Spur:

ThoughtWorks.CruiseControl.Core.CruiseControlException: Quelle Steuerungsoperation fehlgeschlagen: Abbruch: data/[email protected]: keine Übereinstimmung gefunden ! . Prozeßbefehl: hg Update --noninteractive bei ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute (Process Process) bei ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetSource (IIntegrationResult Ergebnis) bei Thought .CruiseControl.Core.IntegrationRunner.Build (IIntegrationResult Ergebnis) bei ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate (IntegrationRequest Anfrage)

+0

Können Sie eine Ablaufverfolgung mit den genauen Befehlen, die Sie ausführen, und der Ausgabe, die sie geben, anzeigen? – crazyscot

+0

Es hört sich so an, als hättest du irgendwie ein korruptes Repository bekommen. Dies gehört korrekterweise in die Mercurial-Mailing-Liste oder den Freenode-IRC-Kanal, weil es wie ein Bug aussieht. – Omnifarious

+0

Wie kann ich eine Ablaufverfolgung ausführen? – Ivo

Antwort

2

Die "Repository Korruption" ist hier nicht patentieren lassen, da man wieder klonen , und rufen Sie alle con auf Zelt (alt und neu hinzugefügt). So
die verschiedenen Punkte zu prüfen sind:

1/Prozess Konflikt irgendeine Art (etwas data/[email protected] verhindert geschrieben werden, also auch der Dateiinhalt aufgezeichnet wird)
2/hg revlog und hg debugindex, zu überprüfen, die Versionen, die tatsächlich in Ihrem Repo aufgezeichnet wurden.
3/hg verify, um Repo-Korruption auszuschließen.
4/check the integrity of your repo

+0

Vielen Dank Ich werde dies versuchen, wird Sie wissen, das Ergebnis – Ivo

+0

Das Problem ist gelöst, ich habe den Commit-Benutzer auf das Repository und den Projektordner geändert und jetzt ist es gelöst – Ivo

Verwandte Themen