Hallo zusammen, ich habe ein Subversion-Repository auf einem Datenträger, bei dem gerade einige Dateisystemfehler gefunden wurden. Mit e2fsck wurden jede Menge Fehler auf dem Datenträger gefunden, aber das Repository scheint intakt geblieben zu sein- zumindest ließen sich einige Versionen auschecken. Natürlich gibt es vom Repository ein Backup- aber das enthält die letzten Änderungen noch nicht. Mir geht es jetzt darum, ob es sinnvoller ist, das Repository aus dem Backup oder das Repository vom wiederhergestellten Datenträger weiterzuverwenden. Gibt es für Subversion ein Kommando, mit dem sich die Integrität eines Repositorys testen läßt? Viele Grüße W.T.
Abschließend kann ich Deine Frage nicht beantworten, ich glaube aber eher nicht, dass es so etwas gibt. Es ist die Aufgabe des Dateisystems die Konsistenz der Daten sicher zu stellen. Wenn es dass aus irgendwelchen Gründen nicht mehr kann, sollte es einen Lesefehler melden. Es besteht für eine Applikation im Allgemeinen also kein Grund, selbst Konsistenzprüfungen einzubauen; Anwendungen sollten sich auf die Prüfungen des Dateisystems verlassen können.. Entsprechend würde ich von einem Filesystemcheck – ich lasse mich hier gerne eines besseren belehren – auch erwarten, dass er nur Fehler in der Verzeichnisstruktur behebt, nicht aber in den Dateien selber. Das schlimmste, was so passieren könnte, wäre dass Dateien trunkiert werden. Das sollte Subversion dann aber merken. Da Subversion seine Repositories meines Wissens nach am Ende fortschreibt müssten die jüngsten Versionen am ehesten betroffen sein. Für eine genaue Beurteilung wäre es natürlich wichtig zu wissen, welche Fehler fsck gemeldet hat und welche Dateien betroffen waren. Ohne entsprechende Logs lässt sich wohl keine definitive Aussage treffen. Ich würde auf jeden Fall erst einmal ein Kopie des betroffenen Repositories erstellen, idealerweise mit SVN-eigenen Mitteln, die sollten am ehesten merken, wenn etwas nicht stimmt. (Ich habe länger nicht mehr mit SVN gearbeitet, aber svndump oder svnsync könnten da hilfreich sein, auch Repository Replication im SVN Buch wäre ein guter Einstieg.) Wenn das klappt, wäre ich schon mal optimistisch. Solltest Du auf Nummer sicher gehen wollen und den Aufwand nicht scheuen könntest Du – nachdem die Ursache der Fehler behoben und das Filesystem neu formatiert ist – das Backup einspielen. Das möglicherweise korrupte Repository legst Du an einen temporären Ort. Dann holst Du die noch nicht gesicherten Versionen eine nach der anderen in eine temporäre Arbeitskopie, gleichst die Daten mit rsync o.ä. in Deiner produktiven, mit der letzten gesicherten Version neu ausgecheckten Arbeitskopie entsprechend ab und checkst sie von dort in das wiederhergestellte Repository ein. Dabei kannst Du für jede Version nach Belieben eigene Checks einfügen, zum Beispiel einfach mal prüfen, ob noch alles compiliert. Ich hoffe das konnte helfen.
Walter Tarpan schrieb: > Gibt es für Subversion ein Kommando, mit dem sich die Integrität eines > Repositorys testen läßt? Ist dein Google kaputt? ~ $svnadmin help verify verify: usage: svnadmin verify REPOS_PATH Verifies the data stored in the repository. XL
Axel Schwenke schrieb: > Ist dein Google kaputt? Nein, aber von meinem zehnbändigen Lexikon "Alle Google-Suchbegriffe von A-Z in Deutsch und Englisch" hat sich mein Nachbar wieder mal den Band "Por-Tit" ausgeliehen. Und genau in dem Band sollte ja auch "Subversion" stehen. Axel Schwenke schrieb: > verify: usage: svnadmin verify REPOS_PATH Danke!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.