Der Wechsel eines Versionskontrollsystems

Ein Versionskontrollsystem zu wechseln ist nicht unbedingt eine einfache Aufgabe. Lesen Sie wie man einen vollständigen cvsroot und seine Historie in ein neues Subversion-Repository importieren kann.

Der Wechsel von einem Versionskontrollsystem zu einem anderen kann sich als recht aufwändig erweisen, da man sich einerseits erst einmal mit dem neuen System vertraut machen und andererseits versuchen muss, möglichst viel von den historischen Projektinhalten auf das neue System zu übertragen. Bei der Konvertierung von CVS zu Subversion stellt sich dieses Problem natürlich auch und es gibt eine ganze Reihe möglicher Lösungen dafür: Entweder kann man die historischen Projektinhalte wie im CVS gespeichert aufgeben, das CVS-Repository mit Lesezugriff für die historischen Inhalte bereitstellen und das Subversion-Repository ganz neu anlegen, oder man kann versuchen, das CVS-Repository mit allen dazugehörigen historischen Inhalten in Subversion zu importieren.

Die letztere Option ist natürlich zu bevorzugen, aber gleichzeitig auch schwieriger durchzuführen. Erfreulicherweise gibt es verschiedene Tools hierfür, so zum Beispiel cvs2svn, ein Programm, das den Import alter CVS-Projekte und deren historischer Inhalte in ein Subversion-Repository versucht. cvs2svn steht unter http://cvs2svn.tigris.org als Download zur Verfügung.

Nach dem Herunterladen von cvs2svn muss man das Programm entpacken. Dann macht man eine Kopie vom cvsroot-Verzeichnis, denn obwohl cvs2svn am eigentlichen CVS-Repository nichts verändert, ist es für alle Fälle sicherer, mit einer Kopie zu arbeiten.

Das funktioniert zum Beispiel mit folgenden Befehlen:




Wenn man nur ein einzelnes Modul importieren möchte, kann man auch nur /cvsroot/project kopieren, statt eine Kopie vom gesamten cvsroot-Verzeichnis mit allen seinen Modulen zu machen. Dann führt man cvs2svn auf der Kopie von cvsroot aus und erstellt ein Dumpfile für den Import in Subversion:


So wird die Datei cvs2svn-dump im aktuellen Verzeichnis erstellt. Nun kann man das Dumpfile in ein bestehendes Subversion-Repository kopieren:



Somit hat man sein Projekt mit allen dazugehörigen historischen Dateien importiert. Oben stehender Vorgang eignet sich vor allem, wenn man über ein bestehendes Subversion-Repository verfügt und jeweils nur ein einzelnes Modul oder einige wenige Module importieren will. Will man dagegen das gesamte cvsroot in eine neue Subversion-Datenbank überführen, kann man wie folgt vorgehen:


Damit wird das gesamte cvsroot-Verzeichnis mit allen seinen historischen Inhalten in das neue Subversion-Repository importiert. Je nachdem, wie groß das CVS-Repository ist (und wie viel historische Inhalte es umfasst), kann das eine ganze Weile dauern.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Der Wechsel eines Versionskontrollsystems

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *