arcplan Enterprise Versionierung mit SVN – Teil 2/3

TortoiseSVN ist ein GUI Client für Windows. Wir möchten näher auf die Benutzung dieses Clients eingehen, da er den größten Funktionsumfang bietet und gut bedienbar ist. Außerdem existiert ein äquivalenter Client für Git.

Heruntergeladen werden kann TortoiseSVN hier:
https://tortoisesvn.net/downloads.de.html
Zusätzlich gibt es noch diverse Sprachpakete. Wir empfehlen aber die englische Sprache zu belassen, da die Deutsche Übersetzung für ein wenig Verwirrung sorgen könnte. Mit Tortoise kann man seine Dateien auf den SVN Server importieren.


Exkurs: VisualSVN Server

Mit VisualSVN kann man einen Subversion Server auf einem Windows-System verwenden. Damit hat man zusätzlich den Vorteil, dass man die Repositories im eigenen Netzwerk hat. Es gibt eine kostenlose und eine lizensierte Version. Für unsere Zwecke reicht allerdings die kostenlose Version. Auf https://www.visualsvn.com/server/download/ kann man sich die Installationsdatei herunterladen. Die Einrichtung des Servers geht schnell und ist intuitiv. Es werden 3 Programme installiert. Das für uns relevante ist der VisualSVN Server Manager. Dort können sowohl die Repositories als auch User angelegt werden. Für arcplan Enterprise reichen die Standardeinstellungen. Mit Branches empfiehlt es sich nicht zu arbeiten, da diese Merge-Konflikte auslösen können, welche in arcplan Enterprise Projekten sehr hinderlich sind.


Nachdem Tortoise installiert ist, befindet sich dieses im Kontextmenü. Bevor man nun aber eine oder mehrere Repositories als Arbeitskopie auf seinen Rechner lädt, sollten noch ein paar Einstellungen getätigt werden. In den Properties -> General -> Context Menu

Checkout…
Update
Commit…
Get lock…
Release lock…
Ggf. Delete

Anlegen der Arbeitskopie

Zunächst wählt man sein Projekt aus und wählt die Option Import… und gibt die entsprechende Repository URL ein. Jetzt werden die ausgewählten Daten in das angegebene Repository geladen und stehen allen Nutzern zur Verfügung.
Nachdem man sich einen Ordner anlegt hat, in welchem die persönliche Arbeitskopie liegen soll, öffnet man das Kontextmenü und wählt Export. Dort gibt man die URL des gewünschten Repositories ein. Die URL kann man zum Beispiel über den normalen Internetbrowser finden.
Übersicht über alle Repositories: https://eigener-server.de/svn
Hier findet man alle Repositories, die auf dem SVN Server liegen.

Die Arbeitskopie liegt jetzt im Verzeichnis. Anschließend muss man nur noch ein Checkout über SVN Checkout durchführen.

Nun sollte der Ordner einen grünen Haken haben. (Das kann manchmal kurz dauern)

Needs Lock

Die Eigenschaft svn:needs-lock ist äquivalent zum Auschecken im SourceSafe. Alle Dateien sind default schreibgeschützt. Die Eigenschaft wendet man am besten auf den Arbeitskopie-Ordner an, dann sind alle darin enthaltenen Dokumente betroffen.
Dies muss bei einem Client einmal eingestellt werden. Die Eigenschaft lässt sich über Properties einstellen. Im öffnenden Fenster auf New… und dann auf Needs-lock. Auf Locking required setzen.

Dateien bearbeiten und committen

Die Datei(en) die man nun bearbeiten und speichern möchte, muss man zuerst über SVN Get Lock… locken. Dabei kann man auch gleich eine Lock-Nachricht eingeben. Im Repo-Browser sieht man dann auch sofort, dass eine Datei gelocked wurde. Dann kann die Datei später ohne Probleme gespeichert werden.

Nachdem die Änderung(en) durchgeführt wurden, erscheint an der Datei ein roter Kreis mit einem Ausrufezeichen. Das bedeutet, dass etwas geändert wurde. Über check for modifications sieht man neben den nicht geänderten Dateien auch, welche geändert wurden, ggf. mit lock Status.
Bevor man die Datei nun Committed muss auf die Datei noch SVN Release lock… angewendet werden
Nun kann die Datei über den Befehl SVN Commit… ins Repository committed werden.
Zu guter Letzt noch ein SVN Update… um sich den aktuellen Stand zu ziehen.

Im dritten und letzten Teil geht es um die Build-Erstellung und Continous Delivery mit Jenkins und den SVN Hooks.

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.