Kann mir jemand einen Tipp geben, wie ich ein Subversion 1.4 Repository nach Subversion 1.6 auf einem anderen Server migrieren kann? Ich wäre für jede Hilfe dankbar, die ich bekommen kann, ich habe nicht viel Glück beim Googeln.
Antworten
Zu viele Anzeigen?Zunächst einmal bin ich mir nicht zu 100 % sicher, dass Sie eine Dump-Datei frei zwischen Linux und Windows verschieben können. Möglicherweise müssen Sie die Zeilenenden konvertieren.
Als Nächstes sollten Sie versuchen, das Repository zunächst im 1.4-Format zu verschieben und es dann an Ort und Stelle zu aktualisieren. Eine Möglichkeit, dies zu tun, ist auf dem Zielrechner:
svnadmin create --pre-1.5-compatible /path/to/repo
svnadmin load /path/to/repo <dumpfile
svnadmin upgrade /path/to/repo
Siehe die SVN-Buch für Details zu svnadmin.
Wir haben es ein wenig anders gemacht: Wir haben ein neues Repository erstellt und mit svnsync um einen Spiegel des Repositorys zu erstellen. Dieser sollte bis zu dem Zeitpunkt, an dem Sie wechseln wollen, schreibgeschützt sein. Fügen Sie dann dem alten Repository Hooks hinzu, um Commits zu verbieten (idealerweise mit einer Fehlermeldung, die Ihre Benutzer auffordert, in das neue Repository zu wechseln). svnsync ein letztes Mal und aktivieren Sie das neue Repository. Dies war viel schneller als ein Dumping und effizienter, da wir die letzten Änderungen mit dem alten Repository synchronisieren konnten.
Stellen Sie sicher, dass Sie die Dump-Datei als Binärdatei behandeln. Sie sieht aus wie eine Textdatei und Sie können sie auf verschiedene Arten bearbeiten... aber es ist nicht nur Text. Wenn also während der Übertragung ein Zeilenumbruch stattgefunden hat oder ähnliches, haben Sie am Ende ein Chaos.