Konvertierung eines CVS-Projektes nach Subversion

Dieses Dokument beschreibt das Umziehen eines Teilprojektes vom lbg010x. Bitte das Vorgehen exakt einhalten, sonst gibt es Chaos und viel Arbeit. Im folgenden wird das Vorgehen am Beispiel PLA beschrieben.

  1. Kopieren des betreffenden Verzeichnisbaumes vom lbg010x nach asl7xx:
    • auf asl ein temporäres Verzeichnis anlegen:
              mkdir pla-repo
              
    • auf dem lbg010x einloggen, dort folgende Befehle eingeben:
              cd /u/belsoft/cvs
              rsync -avz -e ssh pla asl7xx:pla-repo
              
    • Nun sollte folgende Situation vorliegen: Auf dem asl existiert im Verzeichnis pla-repo ein Unterverzeichnis pla, in dem sich alle Dateien des Projektes pla befinden (allerdings jeweils mit einem ,v hinter dem originalen Dateinamen)
  2. Ab jetzt findet alles nur noch auf dem asl statt:
    • In das Verzeichnis pla-repo wechseln.
    • Nun mkdir pla/CVSROOT eingeben.
    • Jetzt ein Dump-File erzeugen (man befindet sich immer noch im Verzeichni pla-repo):
              cvs2svn --dump-only --trunk=@@trunk@@ --tag=@@tags@@ --branches=@@branches@@ pla
              
      Hierzu sollte man sich ziemlich sicher sein, dass innerhalb der Dateien, die zum CVS-Projekt gehören, die Zeichenketten @@trunk@@ etc. nicht vorkommen!
    • Es sollte nun ein Datei mit dem Namen cvs2svn-dump entstanden sein.
  3. Anpassen des Dump-Files an die Struktur unsers SVN-Repositories
    Hierzu müssen die beim Erzeugen des Dump-Files angegebenen Platzhalter durch die realen Verzeichnisse ersetzt werden. Dies geschieht am Besten automatisch durch den Befehl (geändert!)
         cat cvs2svn-dump | sed -e "s#@@\(trunk\|tags\|branches\)@@#\1/eq-models/pla#" > cvs2svn-dump.final
         
    Update KH: Obiger Befehl ist korrekt für Geräte-Software, die im SVN in trunk/eq-models/gm, tags/eq-models/gm etc. einsortiert werden soll.
    Update KH: Regex Pattern in doppelte Anführungszeichen, wenn man darin Shell-Variablen verwendet! Für anders einzusortierende Software muss der sed-Befehl evtl. angepasst werden.
  4. Das Importieren des Dump-Files nach SVN muss auf dem Rechner geschehen, auf dem das Repository liegt. Dies ist in unserem Fall www.acc.gsi.de, auf dem die Wenigsten einen Account haben. Also mir Bescheid sagen, dass ich das Dump-File importieren soll.

-- KlausHoeppner - 27 Apr 2006
Topic revision: r5 - 15 May 2006, KlausHoeppner
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback