Wie kann ich SVN-Repositorys korrekt vom VisualSVN-Server (Windows) auf Apache SVN (Linux) übertragen?

Wie kann ich SVN-Repositorys korrekt vom VisualSVN-Server (Windows) auf Apache SVN (Linux) übertragen?

Mein Ziel ist es, alte SVN-Repositorys von einem Windows VisualSVN-Server auf einen Linux Apache SVN-Server zu übertragen. Der erste Schritt bestand darin, mit dem Befehl svnadmin dump einen Dump aller Repositorys zu erstellen. Danach habe ich diese Dumps auf meinen Linux-Server geladen. Beim Importieren der Repositorys traten keine Fehler auf. Bei einigen Dateien erhalte ich jedoch einen internen 500-Serverfehler, wenn ich Änderungen an ihnen festlege.

Um zu prüfen, was falsch ist, habe ich einige der Dateien, die den Fehler verursacht haben, in meinem Webbrowser geöffnet. Ich habe festgestellt, dass mehrere letzte Zeilen dieser Dateien beschädigt sind. Es sind keine Daten verloren gegangen, aber am Ende der Datei befinden sich seltsame Zeichen. Sie werden in meinem Webbrowser durch „???“ angezeigt.

Ich habe versucht, mehrere Exporte durchzuführen, aber alle Exporte verursachen dasselbe Problem. Ist es möglich, das Repository oder den Dump zu korrigieren? Haben Sie eine Idee, wie ich das verhindern kann?

Antwort1

  • Soweit ich weiß, gab es vor einigen Versionen einige Änderungen an der Struktur/den Daten/dem Speicher des Repositorys: Es wäre sicherer, wenn die Subversion-Version unter der Haube für VisualSVN Server und die Apache-Seite dieselbe wäre (d. h., VisualSVN Server bei Bedarf aktualisieren).
  • Aus FS-Sicht sind das Repository in VisualSVN Server und Linux Apache identisch – nur Verzeichnisse mit Dateien und einige Nicht-Repository-Dateien. Im einfachsten Fall können Sie also einfach den Baum von RepoRoot auf den neuen Server kopieren (Eigentümer und Berechtigungen gemäß den neuen Betriebssystemanforderungen korrigieren), (alte) Passwd-Datei hinzufügen (falls erforderlich), außerhalb des Repo-Baums und (alte) Authz-Datei platzieren (falls erforderlich), den SVN-bezogenen Teil von httpd.conf des VisualSVN-Servers in die neue Umgebung migrieren (mit Anwendung aller erforderlichen Änderungen, hauptsächlich pfadbezogen) und Repositorys am neuen Standort haben

PS: Ichdurchgeführtsolche faulen "Copy-Pase"-Migrationen ohne große Kopfschmerzen

500 Interner Serverfehler beim Commit

kann zwei Hauptgründe haben: nicht migrierte Benutzerbasis und|oder vergessene ACLs in (wahrscheinlich fehlender oder leerer) Authz-Datei - Dumps von Repos übertragen diese Dateien nicht

verwandte Informationen