Subversion einrichten, Sicherung einspielen und aus CVS importieren

Es soll ein Repository mit Subversion eingerichtet und ein Export, aus einem anderen Subversion bzw. CVS Repository, mit vollständiger Historie importiert werden.

Aufsetzen eines Subversion Repositories

Nachdem die benötigte Software installiert und ein Benutzer  svn sowie eine Benutzergruppe  svn eingerichtet wurde, kann ein Subversion Repository angelegt werden. Dazu wird zuerst ein Ablageort erzeugt und ein rudimentäres Subversion Repository angelegt.

Dieses Subversion Repository muss nun dem Benutzer und der Benutzergruppe zu geordnet werden. Alle Benutzer dieses Subversion Repositories müssen zu der Benutzergruppe  svn gehören.

Zusätzlich müssen alle Mitglieder der Benutzergruppe  svn Schreibrecht auf das Subversion Repository haben. Allerdings wird das Schreib- und Leserecht auf die Konfiguration gleich wieder auf dem Benutzer  svn beschränkt.

Nun kann schon lokal auf das Subversion Repository z. B. mit …

… zugegriffen werden. Da aber auch der entfernte Zugriff möglich sein soll, wird nun der Serverprozess gestartet.

Der Standard-Port für den Subversion Server ist 3690. Mit dem Parameter  --listen-port n kann auch ein anderer Port angegeben werden.

Damit nun auch die Benutzer zugreifen können, wird in der Datei  conf/passwd die Benutzer mit ihren Passwörtern abgelegt. Diese Benutzer können dann über den Serverprozess auf das Subversion Repository zugreifen.

Danach müssen noch die Konfiguration  conf/svnserve.conf für das Subversion Repository bearbeitet werden. Dort wird der generelle Zugriff für unautorisierte (Zeile 12) und autorisierte (Zeile 13) Benutzer bearbeitet. In der Zeile 20 wird der Dateiname mit den Passwörtern und in Zeile 32 der Name des Realm angegeben.

Nun kann auf das Subversion Repository von außen zugegriffen werden.

Exportieren und Importieren eines Subversion Repositories

Zunächst wird ein bestehenden Subversion Repository mit vollständiger Historie exportiert. Dieses muss im gleichen Dateisystem erfolgen, wo auch das Subversion Repository liegt.

Als nächster Schritt wird im neuen Subversion Repository ein neues Verzeichnis  projects angelegt.

Jetzt kann das alte Subversion Repository unter dem neuen Verzeichnis mit vollständiger Historie in das neue Subversion Repository eingespielt werden. Wiederum muss der Befehl im gleichen Dateisystem, wo das neue Subversion Repository liegt, durchgeführt werden.

Falls das alte Subversion Repository nicht unter dem neuen Verzeichnis abgelegt werden soll, so kann der Parameter  --parent-dir weggelassen werden.

Liegen das alte und neue Subversion Repository im gleichen Dateisystem, kann auch folgender Befehl verwendet werden.

Das neue Subversion Repository steht sofort nach den Änderungen bereit.

Exportieren und Importieren eines CVS Repositories

Zunächst wird ein bestehendes CVS Repository mit vollständiger Historie exportiert. Dazu muss unter Linux das Package  cvs2svn installiert sein.

Nun wurde die Datei  projects-cvs2svn-dump im aktuellen Verzeichnis erstellt. Diese kann nach dem Verfahren aus dem vorherigen Kapitel ins neue Subversion Repository mit vollständiger Historie importiert werden.

Nun ist das alte CVS Repository mit allen seinen Historien im neuem Subversion Repository vorhanden.

Eine Alternative ist, wenn altes und neues Subversion Repository im gleichen Dateisystem liegen, folgender Befehl. Dieser kopiert direkt das alte CVS Repository mit allen Historien in das neue Subversion Repository.

Subversion auf einem QNAP NAS TS-409 einrichten

Auf Wunsch von Sven Müller, durch seinem Kommentar, habe ich hier noch beschrieben, wie auf einen QNAP TS-409 Pro Turbo NAS ein Subversion Repository angelegt werden kann.

Dazu über das Optware IPKG (Itsy Package Management System) der Subversion Server installiert werden. Das Optware IPKG ist ein Package Manager, welcher bei der Linux-Distribution für eingebettete Systeme OpenWRT, verwendet wird.

Hinweis

Das Itsy Package Management System
wird nicht mehr weiterentwickelt.
Es gibt einen Fork opkg (Open PacKaGe management).

Zunächst wird die Software des Subversion Servers installiert.

Als nächstes muss das Starten des Subversion Servers im Init-Skript autorun.sh eingefügt werden. Dazu muss die Partition  /dev/mtdblock5 mit den Init-Skripten gemounted werden.

In der Datei  autorun.sh werden die folgende Befehle ab Zeile 3 anhangen.

Nach dem Bearbeiten der Datei autorun.sh wird mit folgendem Befehl die Partition wieder ausgehangen.

Die offene Punkte

  • Den Zugriff über die HTTP/HTTPS Erweiterung WebDAV ermöglichen, dazu wird ein Apache 2-Webserver benötigt.
  • Upgrade von Subversion auf eine höhere Version.

Die Literaturempfehlungen

Frank Rahn

Frank Rahn ist Softwarearchitekt. Er unterstützt bei der Konzeption von Softwarearchitekturen mit Java-Technologie. Folge Sie ihm auf Facebook, Twitter oder Google+.

Benötigen Sie Unterstützung? Kontaktieren Sie ihn.

Hat Ihnen dieser Beitrag gefallen? Wir würden uns über Ihren Kommentar freuen! Bitte verwenden Sie Ihren bürgerlichen Namen und eine E-Mail-Adresse mit Gravatar.

Letzte Artikel von Frank Rahn (Alle anzeigen)

3 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

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