fragen stichworte

Verwenden von svnadmin hotcopy für die Repository-Migration

Ich muss eine sehr große Anzahl von Repositorys auf einen Remote-Server migrieren und frage mich, ob svnadmin dump oder svnadmin hotcopy das richtige Werkzeug für den Job ist.

Die SVN-Versionen sind für beide Server gleich. Die meisten Repositorys werden jedoch derzeit auf einer Windows-Freigabe gespeichert, während der neue Server Linux-basiert ist. Alle Repositorys verwenden derzeit das FSFS-Backend.

Das SVN-Buch schlägt vor, svnadmin dump/svnadmin create + svnadmin load für Migrationen zu verwenden. Ich lehne mich so, weil:

  1. Es scheint die allgemein empfohlene Methode zu sein
  2. Es würde sicherstellen, dass keine Kompatibilitätsprobleme bei der Migration von Windows nach Linux auftreten

Der Ansatz von svnadmin hotcopy scheint jedoch erhebliche Vorteile zu haben, nämlich:

  1. Deutlich reduzierte Code-Komplexität (kann die gesamte Menge mit einem Befehl erledigen, während die zuvor erwähnte Alternative mehrere diskrete Schritte erfordert.
  2. Es ist viel schneller - ein definitives Plus bei mehr als 100 GB an Daten muss migriert werden
  3. Hooks und Repository-Config werden ebenfalls übertragen

Ich habe ein schnelles Experiment mit dem svnadmin hotcopy -Workflow durchgeführt, der anscheinend gut funktioniert - aber ich möchte kleine Randfälle vermeiden, die sich später möglicherweise aufschleichen.

Kann irgend jemand einen wichtigen Grund dafür nennen, warum svnadmin hotcopy nicht für Repository-Migrationen verwendet werden sollte?

antworten

svn dump repo > repo.dump Außerdem ist die DUMP-Datei in hohem Maße komprimierbar. Es wird empfohlen, sie vor dem Verschieben auf den neuen Server zu tar.gzz.

hotcopy wäre nützlich, wenn Sie ein Live-Backup aufrechterhalten, das ein exakter Klon Ihres aktuellen Rechners ist ... Wenn Sie einen neuen Server neu erstellen, ist es am wahrscheinlichsten, die Hooks zu kopieren und die Konfiguration durch einzustellen Hand.

  • dump ist versionsunabhängig. Dies bedeutet, dass die exportierte Kopie von jeder Version von svn verwendet werden kann.
  • hotcopy erstellt eine direkte Kopie des Repositorys. Es ist schnell, enthält aber Informationen über das zugrunde liegende Dateisystem usw. Der Server, auf dem die Kopie importiert wird, muss dieselbe Version haben, dieselbe Konfiguration usw. haben.

Vielleicht lohnt es sich auch, #svn auf freenode irc zu treffen ... eine ziemlich aktive Community mit guten Ratschlägen.