Reparieren Sie beschädigte SVN-repository

Ich bin mit svnX (0.9.13) auf Mac OS X Lion (10.7.2 11C74) und haben, zu haben scheinen, was ich glaube, ist eine beschädigte SVN-repository. Ich habe gesucht, die Website, die für ähnliche Fragen und haben gefunden eine paar, aber keiner beschreiben, wie sich zu erholen, wenn Sie nicht abschließen können ein Kasse aus dem repository. Ich habe nicht eine aktuelle Arbeitsverzeichnis entweder.

Der genaue Fehler ist:

svn: Checksum mismatch while reading representation:

erwartet: [hash]

aktuell: [verschiedene hash]

Wenn die Warnung entlassen (option nur), die Kasse wird weiter bis zum Ende. Auf den ersten Blick, die meisten Dateien scheinen da zu sein, aber wenn ich die Anwendung ausführen, ist es klar, es ist ein Mischmasch von Versionen. Das repository lebt auf einem USB-flash-Laufwerk, das könnte eine Quelle der Korruption. Ich bin der einzige Benutzer, der Zugriff auf diese Dateien, und Sie haben nicht gewesen berührt seit über einer Woche und wurden in einem funktionsfähigen Zustand.

Irgendwelche Vorschläge, wie es weitergehen würde geschätzt.

  • Wiederherstellen aus backup? SVN speichert änderungen in einer effizienten Binär-diff-format, vermute ich, dass machen würde es sehr anfällig für Korruption... auf jeden Fall das erste, was Sie tun sollten, ist eine vollständige Kopie des repository und die arbeiten an der Wiederherstellung der Kopie.
  • USB-flash-Laufwerk? Ich hoffe, dass Sie regelmäßig sichern (es könnte sogar erhalten, die verloren gehen, wenn nicht beschädigt).
  • Wiederherstellung aus einer Sicherung möglich ist, aber ein paar commits verloren, so dass ich versucht bin zu tun, das nur als letzten Ausweg.
  • Ja, das Laufwerk ist gesichert, zusammen mit der Entwicklung von computer weekly, jedoch war ich ein bisschen im Urlaub, wenn ich konnte keine Verbindung zum backup-hardware. Ich denke, dies ist meine Buße.
  • Wenn Sie überprüft haben, Kopien, verlieren Sie möglicherweise einige der Geschichte, aber Sie verlieren nicht die letzten änderungen (Sie können sofort überprüfen, die in Ihrem letzten Exemplare). Auch, wenn ich das google, dass " svn: Checksum mismatch...' Fehlermeldung, bekomme ich mehrere Gespräche über das beheben von it—haben Sie versucht, eine davon? Was bedeutet svnadmin verify sagen?
  • Ihre einzige Hoffnung ist es zu tun, ein svnadmin dump und load und sehen, ob das hilft, kümmern sich um das Problem der Korruption.
  • Ich habe nur versucht, 'svnadmin dump" und es hielt auch kurz die aktuelle revision mit der Fehlermeldung "corrupt node-revision" und "fehlende Feld-id in Knoten-rev".
  • Ja, ich habe versucht, zwei möglich - Lösungen vor der Buchung. Ich denke, die beste Lösung nun ist das erstellen eines neuen repository mit meiner aktuellen Version und verlieren die Geschichte.
  • In svnadmin dump können Sie eine revision range über die -r parameter. Versuchen Sie das überspringen der schlecht überarbeitung und sehen, ob das hilft. Wenn Sie über eine Sicherung verfügen, können Sie vielleicht haben Sie eine Sicherung von der Sicherung, dann starten Sie den dump der aktuellen zu der revision nach Ihrer Sicherung an. Dann kombinieren Sie die beiden und sehen, was passiert. Es gibt nicht viel, was Sie tun können. Es ist wie das, was passiert, wenn Ihre Festplatte abstürzt. Sie versuchen zu retten, was Sie können und das beste hoffen.
  • Mit mehreren svnadmin dump reicht, ich war in der Lage zu erhalten, die Geschichte und die aktuelle revision. Bitte eine Antwort posten, so kann ich den thread schließen. Danke!

InformationsquelleAutor Noren | 2012-01-12
Schreibe einen Kommentar