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.
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…