Subversion Clients
Die Installation von Subversion beinhaltet auch gleich alle Client Programme, mit welchen auf ein Repository zugegriffen werden kann. Sicherlich ist nützlich, diese Befehle auch zu kennen und anwenden zu können. Komfortabler ist es jedoch, wenn man einen grafischen Client oder eine direkt in die IDE integrierte Lösung verwenden kann.Dieser Artikel zeigt die Installation und Konfiguration des beliebten Subversion Clients, TortoiseSVN.
Für die Integration in Visual Studio sorgen Clients wie AnkhSVN oder der kommerzelle Variante VisualSVN.
TortoiseSVN
Tortoise SVN ist für 32 und 64bit Windows Systeme verfügbar. Besorgen sie sich die neueste Version von der Download Seite. Für viele Sprachen gibt es auch gleich Language Packs dazu.Die Installation gestaltet sich sehr einfach, sie sollte ohne Probleme verlaufen. Eine allfällige Meldung über einen Reboot können sie in der Regel ignorieren.
Es ist empfehlenswert, für alle ihre Entwicklungsprojekte oder generell ihre versionierten Dateien einen zentralen Ablageort zu definieren. Für dieses Beispiel wird das Verzeichnis c:\Projects verwendet.
TortoiseSVN steht ihnen jetzt als in den Windows Explorer integrierter Client zur Verfügung. Durch einen Rechtsklick im Explorer erhalten sie Zugriff auf die Tortoise Menüs:
TortoiseSVN unterstützt alle von Subversion angebotenen Protokolle. Wenn sie wie im vorherigen Artikel beschrieben, ein Standard Subversion Server Setup unter Windows durchgeführt haben, können sie ihr Repository über das SVN Protokoll erreichen. Wählen sie den Repo-browser aus dem Menü aus und geben sie die Adresse ihres Subversion Servers ein:
svn://SERVERNAME
Nun können sie beginnen, ihr Repository aufzubauen und die Ordnerstruktur ihrer Projekte anzulegen un. Alle Subversion Kommandos stehen ihnen unmittelbar zur Verfügung.
Der Status eines Projektverzeichnisses wird ihnen auch direkt im Windows Explorer durch Overlay Icons angezeigt:
So bedeutet ein rotes Icon beispielsweise, dass ihre lokale Kopie Unterschiede gegenüber der Version im Repository aufweist. Im versteckten Verzeichnis .svn speichert TortoiseSVN die Metadaten über die lokale Kopie, welche benötigt werden, um mit dem Repository abzugleichen. Sie entsprechen etwa den .scc Dateien von Visual SourceSafe.
Wenn sie noch unter ASP.NET 1.1 entwickeln, können diese Ordner, die sich in jedem Verzeichnis ihrer Arbeitskopie befinden, Konflikte verursachen. Sie können sie deshalb in den Tortoise Optionen nach _svn umbenennen.
Standardmässig vermutet TortoiseSVN in jedem Ordner ihrer lokalen Laufwerke eine Arbeitskopie eines Repositories. Dies kann unter Umständen zu Phänomenen wie gesperrten Dateien führen. Es ist deshalb ratsam, TortoiseSVN so zu konfigurieren, dass es nur bestimmte Verzeichnisse überwacht. Wählen sie den Menüpunkt TortoiseSVN/Settings und konfigurieren sie im Feld Include Paths ihr lokales Projektverzeichnis. Durch die Angabe einer Wildcard (*) unter Exclude paths werden alle anderen Verzeichnisse von TortoiseSVN ignoriert.

Das Ignore Property
Ein letzer wichtiger Punkt noch, dann sind sie bereit, um mit Subversion zu arbeiten.Wenn sie Visual Studio Projekte mit TortoiseSVN in ein Repository kopieren, werden alle Dateien innerhalb der Ordner kopiert, auch diejenigen, die sie nicht versionieren wollen, wie zum Beispiel alle Projektartefakte in den bin oder obj Verzeichnissen.
Sie können TortoiseSVN deshalb konfigurieren, dass es bestimmte Dateien, ignoriert. Diese werden dann beim Anlegen eines neuen Projektes nicht ins Repository kopiert, und wenn solche Dateien ändern, wie zum Beispiel der Inhalt von bin beim Kompilieren, wird TortoiseSVN, das Projekt eben nicht als verändert markieren.
Um diese Einstellung vorzunehmen, müssen sie das sogenannte Ignore Property setzen. Wählen sie dazu im Windows Explorer ihren obersten Projektordner an, in welchem sie ihre lokalen Kopien halten, und wählen sie im Kontextmenü TortoiseSVN/Properties.
Hier können sie durch einen Klick auf Add... das Property auswählen. Geben sie folgenden Wert ein:
*/bin */obj */bin/* */obj/* *.vssscc *.scc *.suo *.vspscc *.datasource *.user
Dies wird alle Dateien, welche bei der Entwicklung mit Visual Studio entstehen, ignorieren. Ergänzen sie die Liste um eigene Einträge. Wenn sie zum Beispiel mit dem populären Addin Resharper arbeiten, fügen sie den Eintrag *.resharper hinzu, um alle temporären Dateien des Addins von der Versionierung auszuschliessen.