...someplace, where there isn't any trouble? Do you suppose there is such a place, Toto?

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

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

No feedback yet

Comments are closed for this post.