News

Update der .NET Build Projekt Vorlagen für Visual Studio 2008

16.05. 2008

Die Projektvorlagen für die .NET Buildumgebung wurden für Visual Studio 2008 ergänzt. Ausserdem wurde ein Checkout Problem in der Vorlage für Visual Studio 2005 mit SourceSafe behoben.

Weiterlesen …

Neuer Artikel über das Debuggen des .NET Frameworks

04.05. 2008

Ein neuer Artikel über das Debuggen der .NET Framework Basisklassen ist verfügbar.

Weiterlesen …

Newsfeed

Die News sind auch als RSS Feed verfügbar und können mit einem entsprechenden Programm abonniert werden. Wie geht das? Lesen sie mehr dazu auf Wikipedia.

Wissen > Installation und Betrieb eines Subversion Servers und Clients unter Windows

Installation eines Subversion Servers unter Windows

Dieser Artikel führt sie durch die Installation und den Betrieb eines Subversion Systems auf der Windows Plattform.
Eine Installation eines Subversion Systems besteht aus mehreren Komponenten. Einerseits ist dies der Subversion Server selber, erhältlich als Binär oder Installer Paket bei http://subversion.tigris.org.
Versionen vor 1.4 konnten unter Windows nicht als Service (Dienst) laufen, deshalb wurde oft das Hilfsprogramm svnserve verwendet. Seit Version 1.4 ist dies jedoch nicht mehr nötig, da Subversion unter Windows auch als Service betrieben werden kann.
Eigentlich könnte man auch direkt über die Kommandozeilen Werkzeuge auf ein Subversion Repository zugreifen, es geht jedoch auch viel komfortabler. Das Projekt TortoiseSVN bietet einen Subversion Client an, welcher sich über Kontextmenüs optimal in den Windows Explorer integriert.
Wenn sie mit Visual Studio entwickeln, gibt es auch Lösungen, um direkt aus der IDE auf das Subversion Repository zugreifen zu können.

Subversion Server

Download des aktuellen Subversion Setups für Windows

Wenn man ein komplett neues System aufbauen will, sollte man mit der aktuellen Subversion Version loslegen. Diese ist erhältlich unter http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91. Die für Windows benötigte Datei heisst svn-x.y.z-setup.exe, für die Version 1.4.6 also svn-1.4.6-setup.exe. Laden sie die neueste verfügbare Version herunter.

Installation und Einrichten eines Repositories und von Benutzern

Führen sie das Subversion Setup aus. Dabei können sie die Standardeinstellungen für den Installationsort übernehmen, oder einen von ihnen definierten Pfad angeben.
Nach dem Setup können sie nun ein Repository einrichten. Öffnen sie eine Windows Kommandozeile, wechseln sie ins bin Verzeichnis der Subversion Installation und geben sie folgenden Befehl ein:

svnadmin create "d:\Data\SVNRepository"

 

Dabei geben sie ihr eigenes Verzeichnis, welches das Repository enthalten soll an, dieses muss vorgängig erstellt werden. In diesem Verzeichnis existieren nun folgende Dateien:
conf
dav
db
hooks
locks
format
README.txt

Sie können nun Benutzer einrichten. Diese werden in der Datei conv\passwd durch entsprechende Einträge im [users] Abschnitt angelegt:

UserName = Password

Starten des Servers und Einrichten als Windows Service

Am einfachsten ist es, wenn der Subversion Server als Windows Dienst läuft. Dies ist wesentlich komfortabler, als wenn Subversion von der Kommandozeile mit dem --deamon Schalter aus gestartet wird. In diesem Daemon Modus muss jeweils eine Kommandozeile geöffnet werden und der entsprechende Befehl ausgeführt werden. Diese Shell muss dann solange geöffnet bleiben, wie der Subversion Server verfügbar sein soll - nicht sehr handlich also.
Im Gegensatz benötigt der Betrieb unter einem Windows Dienst keinen eingeloggten Benutzer, der Dienst kann beim Systemstart ebenfalls automatisch gestartet werden, und er kann wie alle anderen Dienste über die Standard Windows Werkzeuge überwacht und verwaltet werden.

Zunächst aber sollten sie den Subversion Server trotzdem noch von der Kommandozeile aus starten. Dies zeigt alle Meldungen an und erlaubt so die Überprüfung der Konfiguration. Wenn dann alles korrekt läuft, kann zum Betrieb als Windows Dienst gewechselt werden.

Starten sie den Subversion Server mit folgendem Befehl:

svnserve --daemon --root "D:\Data\SVNRepository"

Dabei verwenden sie als Parameter für den root Schalter das Verzeichnis, in dem sie ihr Repository vorgängig angelegt haben.


Subversion Port und Firewall
Es kann sein, dass nach dem ersten Start des Subversion Servers die Windows Firewall die Kommunikation des Servers blockiert.
Fügen Sie svnserve.exe in die Liste der zugelassenen Anwendungen ein, oder bestätigen sie gegebenenfalls den Dialog der Firewall mit "Nicht mehr blockieren".
Der Subversion Server läuft ohne weitere Konfiguration auf dem TCP Port 3690.


Der Subversion Server läuft nun von der Kommandozeile aus gestartet. Dies können sie zum Beispiel mit dem Befehl netstat -a in einer anderen Shell überprüfen.

Um den SVN Server nun als Dienst laufen zu lassen, muss er beim Service Control Manager von Windows registriert werden. Dies kann ganz leicht über das Dienstprogramm sc.exe erledigt werden. Falls noch nicht geschehen, beenden sie den Subversion Server mit CTRL-C. Für die Dienstregistrierung benötigen Sie Administrator Rechte.
Geben sie folgenden Befehl ein (in einer Zeile):

sc create "svn"
binPath= "\"c:\Program Files\Subversion\bin\svnserve.exe\"
--service -r D:\Data\SVNRepository" displayName= "Subversion Service"
depend= Tcpip start= auto


Dies legt einen Eintrag in der Dienstdatenbank an. Der Dienst "svn" wird automatisch beim Systemstart, jedoch nach dem Tcpip Dienst gestartet.
Verwenden sie dabei bei den Parametern den Installationspfad von svnserve.exe und den Pfad von ihrem oben angelegten Repository.

sc.exe
Zwischen dem Parameternamen und dem Wert muss zwingend ein Leerzeichen eingefügt werden. Also für z.B. für den Pfad zu svn.exe:

binPath= "c:\Program Files\Subversion\bin\svnserve.exe"

Wenn sie einen Subversion Dienst anders konfigurieren möchten, müssen sie den Diensteintrag zuerst löschen und dann mit den neuen Parametern wieder hinzufügen. Ein Dienst kann mit dem Befehl

sc delete

gelöscht werden. Aber Vorsicht, bei Angabe eines falschen Dienstnamens können auch wichtige Windows Services gelöscht werden.


Mehrere Subversion Repositories
Natürlich können sie auch mehrere Subversion Repositories anlegen und für jedes einen eigenen Windows Dienst einrichten. Achten sie jedoch darauf, dass die Dienste je einen eindeutigen Namen und erhalten (sc create ), wie z.B. "svn.prod" für den Dienstnamen, und "Subversion Produktion" als Anzeigenamen.
Und natürlich muss auch jeder Dienst über einen eigenen Socket angesprochen werden können, das heisst IP Addresse und TCP Port müssen pro Dienst eindeutig sein.


Der Subversion Server ist bereit und kann über das Programm svn.exe angsprochen werden. Nun könnte Subversion auf allen Entwickler PCs ebenfalls installiert werden. Es ist sicherlich hifreich, wenn man die wichtigsten svn Befehle über die Kommandozeile ausführen kann, praktischer und komfortabler ist es jedoch, wenn die Subversion Verwaltung direkt im Windows Explorer und in der Entwicklungsumgebung zur Verfügung steht.
Wie solche SVN Clients eingerichtet werden, zeigt der Artikel Subversion Clients auf.