Beschädigung von SVN Repository - SVNREPO/DB/Strom

Beschädigung von SVN Repository - SVNREPO/DB/Strom

Kürzlich wird einer von Repository auf meinem SVN -Server beschädigt. Nach der Überprüfung stellten wir fest, dass es ein Problem mit SVNRepo/DB/Current -Datei gab. Ich habe versucht, dieses Repository zu überprüfen, aber fehlgeschlagen.

Wie man das beschädigte SVN -Repository wiederherstellt -

Vor Beginn der Wiederherstellung sollten wir über diese Datei Bescheid wissen. Diese Datei enthält die neueste Revisionsnummer Ihres Repositorys. Erhöhen Sie bei jedem Commit SVN -Server diesen Wert um +1 und behalten Sie dies bei der letzten Überarbeitung bei.

Wenn Sie sich jetzt an die Version Ihres Repositorys erinnern, stellen Sie einfach eine neue Datei neu und geben Sie diese Nummer in diese Datei ein. Aber wenn Sie sich nicht daran erinnern, dann startet das Problem, aber mach dir keine Sorgen. Folgen Sie den folgenden Schritten, um die Revisionsnummer zu finden.

  • Geben Sie eine beliebige Nummer ein -

    Geben Sie eine Zahl ein und versuchen Sie, sie höher zu halten als erwartet die letzte Revision. In meinem Fall habe ich 99999 in die dB/aktuelle Datei eingefügt.

    [E -Mail geschützt]: ~ $ cat db/aktuell 99999 
  • Backup -Repository -

    Verwenden Sie nun den folgenden Befehl, um dieses Repository zu sichern. Wenn Sie den folgenden Befehl ausführen, kann dies mit einem Fehler wie unten enden.

    [E -Mail geschützt]: ~ $ svnadmin Dump/path/to/repo>/backup/myrepo.Dump * Dumped Revision 0. * Dumped Revision 1… * Dumped Revision 576. * Dumped Revision 577. * Dumped Revision 578. svnadmin: e160006: keine solche Revision 579  

    Nach Ihrer Ausgabe haben wir, dass unser Repository hat 578 Überarbeitungen. Sie können diesen Wert einfach in Ihre dB/aktuelle Datei einfügen. Wenn jedoch weitere Dateien beschädigt sind, folgen Sie weiterhin die folgenden Schritte.

  • Backup -Repository erneut -

    Jetzt haben wir die letzte Revisionsnummer. Geben Sie also Überarbeitungen von 0 zur letzten Überarbeitung zur Sicherung an.

    [E -Mail geschützt]: ~ $ svnadmin Dump -r 0: 578/path/to/repo>/backup/myrepo.entsorgen 
  • Neues Repository neu erstellen -

    Entfernen Sie nun das alte beschädigte Repository und erstellen Sie eine neue mit demselben Namen oder einem anderen Namen.

    [E -Mail geschützt]: ~ $ mv/path/to/repo/backup/[E -Mail geschützt]: ~ $ svnadmin create/path/to/repo 
  • Laden Sie das Repository aus der Sicherung -

    Laden Sie nun Repository -Daten aus der Sicherungsdatei mit dem folgenden Befehl.

    [E -Mail geschützt]: ~ $ svnadmin load/path/to/repo < /backup/myrepo.dump