arcplan Enterprise Versionierung mit SVN – Teil 1/3

Bisher verwendeten wir Microsoft Visual SourceSafe zur Versionsverwaltung unserer arcplan Enterprise Dokumente. Da SourceSafe nun seinen 11. Geburtstag feiert und seit geraumer Zeit nicht mehr weiterentwickelt wird, haben wir uns dazu entschlossen ein neues Versionierungs-Tool einzuführen. Unter den zahlreichen Anbietern ist es nicht leicht ein geeignetes Versionierungs-Tool zu finden. Für die ideale Versionierung wurde ein Workflow definiert, welcher in folgender Abbildung zu sehen ist.

SVN Workflow
Anhand dieses Workflows sollen die Anforderungen an das Versionierungs-Tool definiert werden.

Zunächst wurde von uns der indirekte Nachfolger von Microsofts Visual SourceSafe, der Team Foundation Server (kurz TFS) evaluiert. Dieses sehr umfangreiche und mächtige Tool sprengt jedoch den Rahmen für so einfache Zwecke. Der TFS benötigt viel Einarbeitungszeit für die Administratoren und mindestens genauso viel Zeit, um den TFS für das vorhandene Projekt vorzubereiten und zu konfigurieren. Für eine Verwaltung von XML Dokumenten ist das zu viel. Zudem ist die Benutzung des Visual Studios als grafische Oberfläche essentiell. Der TFS war somit von der Liste gestrichen

Anschließend haben wir Git als populärstes und größtes Versionierungs-Tool betrachtet. Jedoch ist Git ein verteiltes Versionierungs-Tool. Verteilt bedeutet, dass jeder Benutzer eine lokale Arbeitskopie, inklusive der Versionsgeschichte einer jeden Datei besitzt. Das Hauptproblem ist, dass jeder User sowohl gleichzeitig Git Server und Client ist. Dadurch sind Merge-Konflikte unausweichlich, da es nicht möglich ist Dateien für andere Benutzer zu sperren. Das kommt daher, dass nicht zwischen lokalen und entfernten Entwicklungszweigen der anderen Benutzer unterschieden wird. Für die Entwicklung mit arcplan Enterprise ist dies ein absolutes K.O. Kriterium.

Zuletzt evaluierten wir das nächst größere Versionierungs-Tool Subversion (SVN). SVN wurde dem veralteten CVS heraus entwickelt und bietet gegenüber diesem einige Vorteile. Beispielsweise können mit SVN Dateien und Verzeichnisse verschoben und gelöscht werden, ohne dass dabei die Versionsgeschichte dieser verloren geht. SVN besitzt im Gegensatz zu Git einen zentralen Repository Server. Dieser kann auch leicht auf einem lokalen Server installiert und zentral gehalten werden. Zudem lassen sich mit einfachsten Mitteln und ohne viel Konfigurationsaufwand mehrere Dateien sperren, sodass andere Nutzer nicht zur selben Zeit an der selben Datei arbeiten können. Dieses sogenannte „locken“ hilft dabei Merge-Konflikte zu umgehen. zur einfacheren Handhabung und Umgehung der Kommandozeile, verwenden wir als Client-Tool die GUI TortoiseSVN. Dieses Tool bietet eine Vielzahl von Anpassungsmöglichkeiten und erleichtert den Umgang mit SVN außerordentlich, sodass nach der Umstellung auf SVN jeder Mitarbeiter innerhalb kürzester Zeit wieder produktiv am Projekt weiter arbeiten kann.

In unserem nächsten Artikel gehen wir genauer auf die Benutzung von TortoiseSVN und die Verwendung der SVN-Hooks ein.

Cheers

Christian Brenner & Manuel Teufel

Schreibe einen Kommentar

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

Captcha * Time limit is exhausted. Please reload CAPTCHA.