Administration


    Tortoise als lokaler Versionsserver

    Um eine funktionsfähige Versionsverwaltung einzurichten, benötigt man nicht unbedingt einen Webserver mit installiertem Subversion.

    Mit TortoiseSVN als Shell-Erweiterung lässt sich sowas auch im lokalen Netz oder dem eigenen Rechner einrichten.
    Im folgenden werde ich die dafür notwendigen Einstellungen Schritt für Schritt darstellen.

    1) Verzeichnisstruktur

    Für mein Beispiel verwende ich die von Microsoft mit Access ausgelieferte Beispieldatenbank "Nordwind.mdb" und die folgende Verzeichnisstruktur
    struktur
    Abb. 1: Verzeichnisstruktur auf Laufwerk Z:
    Die Datenbank selbst befindet sich hier im Verzeichnis "Z:\Entwicklung\Nordwind\Nordwind.mdb".

    2) Repository erstellen

    TortoiseSVN speichert die einzelnen Revisionen (Versionsstände) in einer eigenen Datenbank.
    Um diese erstmalig zu erzeugen, verwenden wir im Tortoise-Menü den Menüpunkt "CreateRepository here".
    create_repository
    Abb. 2: Lokales Repository erstellen
    Damit ist unser Repository angelegt und der Ordner ab sofort für jegliche manuellen Arbeiten tabu - unbedarfte Änderungen können hier fatale Folgen haben und unser Repository unbrauchbar machen.

    3) Erster Checkout

    Alle Arbeiten erfolgen von nun an in der sog. "Arbeitskopie".
    Im Beispiel ist das der Ordner "Z:\Entwicklung\Nordwind\Source\".
    Um dieses Verzeichnis zu unserer lokalen Arbeitskopie zu machen, verwenden wir den Menüpunkt "Checkout".
    checkout
    Abb. 3: Verzeichnis zur Arbeitskopie machen
    Als URL wird, wie in der Abbildung ersichtlich, die Pfadangabe zu unserem in Punkt 2 erzeugten lokalen Repository verwendet.
    Die Einrichtung des Repository ist nun abgeschlossen und wir können es genauso verwenden, als hätten wir ein Repository auf einem Subversion-Server.

    4) Projekteinstellungen für OASIS

    Der Beispieldatenbank "Nordwind.mdb" muss nun für OASIS noch mitgeteilt werden, wo die Quelltextdateien zu finden sind.
    settings
    Abb. 4: Einstellungen in OASIS

    5) Export aus OASIS

    Da unser Quelltext-Verzeichnis momentan noch vollkommen leer ist, müssen durch OASIS als nächstes die zu verwaltenden Dateien exportiert werden.
    Dazu dient der Befehl "Exportieren" in OASIS.
    export
    Abb. 5: Exportieren mit OASIS
    Die markierten Objekte werden durch OASIS als einzelne Dateien im unter Punkt 4 eingestellten Verzeichnis (der Arbeitskopie des Repositories) gespeichert.
    dateien
    Abb. 6: Exportierte Quelltext-Dateien in "Z:\Entwicklung\Nordwind\Source\"

    6) Dateien hinzufügen

    Damit TortoiseSVN auch weiß, welche Dateien unter die Versionsverwaltung fallen, müssen diese noch zur Versionsverwaltung hinzugefügt werden.
    Dazu dient der Menüpunkt "Add".
    add
    Abb. 7: Dateien zur Versionierung hinzufügen

    Das funktioniert über das Tortoise-Menü sowohl für einzelne Dateien als auch für komplette Verzeichnisse.
    Im Verlauf eines Projekts muss man aber nicht immer "Add" verwenden - der Dialog "Commit" zeigt unversionierte Dateien an und bietet die Möglichkeit, diese auch ohne "Add" in die Verwaltung mit aufzunehmen.

    7) Einchecken (Commit)

    Durch "Add" wird Tortoise lediglich mitgeteilt, welche Dateien in die Versionsverwaltung zu übernehmen sind - es werden allerdings noch keinerlei Inhalte übertragen.
    Um die Dateien (bzw. deren Inhalte) tatsächlich in das Repository zu übertragen, wird der Menüpunkt "Commit" verwendet.
    checkin
    Abb. 8: Änderungen in das Repository übernehmen

    Hier werden alle hinzugefügten/geänderten/gelöschten Dateien angezeigt, deren Inhalte in das Repository übertragen werden sollen.
    Wenn "Show unversioned files" markiert ist, werden auch Dateien angezeigt, die noch nicht unter Versionsverwaltung stehen - diese können durch Markieren der Datei (Checkbox) auch unter Umgehung des "Add"-Dialogs mit aufgenommen werden.
    Jedem "Commit" kann ein individueller Kommentartext mitgegeben werden, um die einzelnen Versionsstände zu beschreiben.

    8) Tortoise-Befehle

    Im folgenden noch eine kurze Liste der wichtigsten Kommandos von Tortoise:

    Befehl Bedeutung
    SVN Update Holt den aktuellen Versionsstand aus dem Repository ab
    SVN Commit... Überträgt lokal geänderte Dateien in das Repository
    Show log Zeigt die Versionshistorie an
    Update to revision... Holt einen bestimmten Versionsstand aus dem Repository ab
    Revert... Holt den aktuellen oder einen bestimmten Versionsstand aus dem Repository ab, um damit lokale Änderungen zu verwerfen
     
     
    Eine ausführliche Dokumentation zu TortoiseSVN befindet sich hier