Xmas holidays: Umzug cvs nach Subversion (Teil 2)
So wir haben also nun einen Rechner bereitstehen, auf dem später das Subversion-Repository liegen soll. Subversion setzt einen laufenden Apache Webserver voraus, also müssen wir erstmal den Apache, dann die Libraries, die Subversion vom Apache braucht, und schließlich Subversion selbst installieren:
sudo apt-get install apache2 sudo apt-get install libapache2-svn sudo apt-get install subversion
Als nächstes müssen wir die WebDAV-Konfiguration von Subversion anpassen. Dazu öffnen wir die Konfiguration im Editor:
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Ich will erstmal ein SVN-Repository, bestehend aus meinem importierten alten cvs-Repository haben, aber vielleicht später mal weitere davon unabhängige Repositories. Daher befreie ich den Location-Tag in der Datei erstmal von seinem vorangestellten Kommentarzeichen, so daß er folgendermaßen ausschaut:
<Location /svn >
Und bei der Gelegenheit machen wir das Entfernen des vorangestellten Kommentarzeichens auch fuer den schließenden </Location>-Tag weiter unten in der Datei, sonst beschwert sich der Apache beim nächsten Start.
Die nächste Zeile muß dann auch noch vom vorangestellten Kommentarzeichen befreit werden:
DAV svn
Weil ich mehrere Repositories unter dem Verzeichnis /svn haben will, lege ich auch noch folgende Zeile an:
SVNParentPath /svn
Für mein Heimnetzwerk genügt es vollauf, mit Basic Auth zu arbeiten, denn der einzige, der hier auf der Leitung schnüffelt bin ich (toitoitoi!), also werden noch folgende Zeilen von den vorangestellten Kommentarzeichen befreit:
AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd
So, das war's jetzt, wir können die Konfigurationsdatei speichern. Wir legen jetzt das Verzeichnis für die Repositories an:
sudo mkdir /svn
Jetzt legen wir noch einen User (im Beispiel "svnuser") für den Zugriff auf die Repositories an:
sudo htpasswd -cm /etc/apache2/dav_svn.passwd svnuser
Und starten den Apache neu:
sudo /etc/init.d/apache2 restart
Als nächstes müssen wir irgendwie unser altes cvs auf die neue Maschine bringen. Dazu lege ich ein neues Verzeichnis /cvs an:
sudo mkdir /svn
Und gebe über den Dateibrowser das Verzeichnis frei, wobei gleich der Samba-Server für mich installiert wird. Dann kopiere ich mein letztes cvs-Backup in dieses Share.
Die eigentliche Konversion findet statt mit einem in Python geschriebenen Tool namens cvs2svn, das man sich von der Website von CollabNet herunterladen und dann auspacken muß. Das ruft man dann beispielsweise so auf, wenn man, wie ich, seine cvs-Dateien in /cvs hat und davon ein Repository in /svn/cvs anlegen will:
python cvs2svn --svnrepos /svn/cvs /cvs
Jedenfalls macht man das so in der Theorie. Und was man in der Praxis beachten muss, davon dann in der nächsten Folge.
Trackback address for this post
No feedback yet
Comments are closed for this post.