Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 5/2004.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Versionsverwaltung mit Access und CVS

André Minhorst, Duisburg

Beim Thema Versionsverwaltung fällt dem Anwender von Microsoft-Entwicklerprodukten erstmal Visual Source Safe ein. Wenn man über den Tellerrand schaut, finden sich dort einige vor allem aus der Unix-Welt stammende Produkte, allen voran CVS (Concurrent Version System). Der vorliegende Beitrag stellt die Grundlagen zu diesem System vor und klopft ab, inwieweit es sich zur Kooperation mit Microsoft Access bewegen lässt.

Einführung in CVS

CVS ist eine Software zur Versionsverwaltung von Dateien. Es ist das Open Source-Pendant zu Microsoft Visual Source Safe (VSS), ist aber im Vergleich zu diesem Open Source-Software.

Versionsverwaltungssoftware erfüllt mehrere Aufgaben gleichzeitig: Der wichtigste Punkt ist, dass der Quellcode an einer zentralen Stelle gespeichert und von allen beteiligten Entwicklern kopiert, bearbeitet und wieder zurückgespielt werden kann.

Halten sich alle beteiligten Personen an die Regeln, hat jede eine weitgehend aktuelle Version des Projektes auf der Festplatte. Änderungen lassen sich mit Versionsverwaltungen leicht ins System übernehmen und an die anderen Entwickler verteilen.

Der zweite wichtige Punkt folgt aus der Bezeichnung dieser Software als Versionsverwaltungssystem:

Jede neue Version einer Datei wird mit allen Änderungen registriert; dementsprechend kann das Versionsverwaltungssystem jederzeit frühere Versionen einer Datei rekonstruieren und bereitstellen.

Dieser zweite Punkt bildet den Grundstein für die in diesem Beitrag vorgestellten Vorgehensweisen und die daraus resultierende Lösung.

Wie läuft die Versionsverwaltung ab?

Üblicherweise geht man bei der Versionsverwaltung davon aus, dass ein Verzeichnis mit seinen Unterverzeichnissen und Dateien den Quellcode für ein Projekt oder einen Teil eines Projektes repräsentiert. Da der Quellcode während der Entwicklung Änderungen unterworfen ist, müsste man ohne Versionsverwaltung regelmäßig Kopien des Verzeichnisses anlegen, um später bestimmte Versionsstände rekonstruieren zu können - etwa, wenn man in die falsche Richtung entwickelt hat und ein Stück zurückrudern möchte.

Der Ablauf bei der Entwicklung von Software mit der Unterstützung durch eine Versionsverwaltung sieht folgendermaßen aus:

Sobald man es für sinnvoll erachtet, fügt man der Versionsverwaltung den vorhandenen Quellcode hinzu. Unter CVS heißt dieser Vorgang "Import".

Sobald der Quellcode einmal in einem Modul des Repositorys gelandet ist, kann man die komplette Struktur in jedem beliebigen Verzeichnis wieder herstellen. Dieses Verzeichnis wird somit zum Arbeitsverzeichnis.

Hat man dort Änderungen an den Dateien vorgenommen, kann man die Änderungen auf die im Repository gespeicherten Dateien übertragen. Arbeitet man allein (das ist bei Access-Entwicklern recht oft der Fall), ist man weitgehend flexibel, was den Zeitpunkt des "Eincheckens" der Änderungen betrifft: Alle zwei Stunden, einmal am Tag, oder einfach, wenn Sie den Eindruck haben, dass Sie den aktuellen Zwischenstand noch einmal reproduzieren möchten.

Im Team sieht das natürlich anders aus: Hier sollte man regelmäßig die aktuelle Version seiner Arbeitsdateien wieder einchecken, gerade wenn mehrere Entwickler an zusammenhängenden Teilen des Projekts arbeiten und auf die jeweiligen Aktualisierungen des anderen angewiesen sind.

Access und Versionsverwaltung

Wer mit Access entwickelt, kennt das: Aufgrund der "monolithischen" Struktur einer Access-Anwendung kann man gar nicht viel anders, als regelmäßig Sicherungskopien der kompletten Datenbank anzulegen.

Das macht es natürlich sehr schwer, einen bestimmten Versionsstand zu finden - wenn man die vorgenommenen Änderungen nicht umfassend dokumentiert hat.

Dies kommt vor allem dann ungelegen, wenn man nur mal eben die letzten paar geänderten Zeilen wiederherstellen möchte, aber die Kapazität der Rückgängig-Funktion des Visual Basic-Editors wieder mal ein wenig zu klein ist.

Installation von CVS

Der Schnelldurchlauf der Installation von CVS für Windows sieht folgendermaßen aus:

  • Laden Sie die aktuelle Version von CVSNT von der Internetseite http://www.cvsnt.com/ herunter.
  • Starten Sie die Installation.
  • Akzeptieren Sie alle Voreinstellungen des Setup-Assistenten.
  • Starten Sie den Rechner neu. (
  • Inbetriebnahme von CVS

    CVS speichert die zu zu verwaltenden Dateien in einem so genannten "Repository". Das erstellen Sie wie folgt:

  • In der Systemsteuerung finden Sie einen Eintrag mit der Beschriftung CVS for NT. Starten Sie die Benutzeroberfläche per Doppelklick (s. Abb. 1).
  • Stoppen Sie den CVS-Service.
  • Wechseln Sie zu Repositories und klicken Sie auf Add. Geben Sie das Verzeichnis an, in dem CVS das Repository anlegen soll, und bestätigen Sie die Initialisierung des Verzeichnisses als Repository (s. Abb. 2).
  • Wählen Sie auf der Registerseite Advanced ein temporäres Verzeichnis aus, das Sie am besten schon vorher anlegen - beispielsweise unter dem Namen "CVSTemp".
  • Behalten Sie die übrigen Einstellungen bei und starten Sie den Dienst wieder. (
  • Abb. 1: CVS in der Systemsteuerung

    Zugriffsart

    CVS bietet verschiedene Arten des Zugriffs auf das Repository an, die an die einzelnen Anwendungsfälle angepasst sind. In unserem Falle soll sich das Repository auf dem lokalen Rechner befinden und ohne Benutzername und Kennwort erfolgen. Je nachdem, ob man sich in einem als solches gekennzeichneten Arbeitsverzeichnis befindet, muss man CVS die Art der Verbindung und die damit zusammenhängenden Parameter mitteilen, bevor man auf das Repository zugreifen kann. Ruft man eine CVS-Anweisung vom Arbeitsverzeichnis selbst auf, bezieht CVS die benötigten Informationen aus Dateien, die extra für diesen Zweck zusätzlich zu den Arbeitsdateien im Verzeichnis vorliegen.

    Abb. 2: Festlegen des Verzeichnisses und Bestätigen des Einrichtungsvorgangs

    CVS-Anweisungen

    Nachfolgend lernen Sie die grundlegende Funktion der Anweisungen von CVS kennen. Der Schwerpunkt liegt dabei auf den Anweisungen, die von accessCVS, einem Plugin für Access-Datenbanken zur Integration von CVS, verwendet werden.

    Hinweis

    Weitere Informationen sowie eine Referenz zu CVSNT finden Sie im Internet unter der Adresse http://www.cvsnt.org. (

    Projekt importieren

    Damit CVS überhaupt Wind von den zu verwaltenden Daten bekommt, "importieren" Sie diese und speichern sie damit erstmalig im Repository.

    Das ist die Grundlage für alle weiteren Operationen, mit denen Sie eine Datei bearbeiten und als neue Version ablegen, alte Versionen wieder hervorholen, Dateien hinzufügen oder entfernen können. Das Einchecken erfolgt allgemein mit folgender Anweisung:

    cvs import -m "<Bemerkung>" CVSBeispiel avendor arelease

    Damit kopiert man das komplette Verzeichnis inklusive aller Unterverzeichnisse und Dateien in das Repository. Der Platzhalter <Bemerkung> enthält eine Logmessage, mit der Sie Informationen über den aktuellen Stand speichern können. Diese Informationen können Sie mit jeder Aktualisierung des Inhalts des Repository übergeben. Damit erhalten Sie ein sehr wichtiges Mittel zur späteren Identifizierung des Inhalts des jeweiligen Revisionsstandes.

    Legen Sie zu Beispielzwecken ein Verzeichnis mit einer kurzen Textdatei an. Das Ganze erledigen Sie vom DOS-Prompt aus. Erstellen Sie zunächst das Testverzeichnis:

    mkdir c:\cvsTest

    Wechseln Sie in das Verzeichnis:

    cd c:\cvsTest

    Öffnen Sie anschließend den Texteditor, geben Sie einen kurzen Text (etwa "Beispieltext") ein und speichern Sie die Textdatei mit den entsprechenden Menübefehlen:

    edit Beispiel.txt

    Nun können Sie den Inhalt des Verzeichnisses in ein neues Modul im CVS-Repository importieren:

    cvs -d :local:<Repositorypfad> import -m "Neues Modul" Beispiel avendor arelease

    Dabei geben Sie für <Repositorypfad> den Pfad an, unter dem Sie das Repository angelegt haben. Achten Sie darauf, dass Sie statt des Backslash (\) das Slash-Zeichen (/) verwenden.

    Die Zeichenfolge :local: gibt an, dass es sich um ein Repository auf dem lokalen Rechner handelt. Der Parameter -m und der folgende String dienen zum Anlegen einer Logmessage. Diese sollte in der Regel Informationen zu der eingecheckten Version enthalten. "Beispiel" ist der Name des neuen Repository. Diesen sollten Sie sinnvoll auswählen, da Sie ihn für alle weiteren Zugriffe benötigen. Die beiden letzten Elemente, avendor und arelease, sind zwar erforderlich, haben aber in diesem Zusammenhang keine wichtige Bedeutung und werden daher nicht weiter erläutert. CVS antwortet wie folgt (eingerückte Zeilen sind Fortsetzungen der vorherigen Zeile):

    cvs import: cwd=C:\cvstest, 

        current=C:\cvstest

    N Beispiel/Beispiel.txt

    No conflicts created by this import

    Das N vor der Angabe der Beispieldatei signalisiert, dass es sich um eine neue Datei handelt.

    Dateien auschecken

    Zum Auschecken von Dateien, also zum Anlegen einer Kopie der aktuellsten Version der kompletten Struktur, dient folgende Anweisung:

    csv checkout CVSBeispiel

    Die Anweisung legt - soweit nicht vorhanden - ein Arbeitsverzeichnis mit dem Namen des Moduls im aktuellen Verzeichnis an und kopiert dort die komplette Struktur des aktuellen Standes hinein.

    Mit dem folgenden Schalter können Sie alle Dateien eines bestimmten Versionsstandes in das Arbeitsverzeichnis auschecken:

    cvs checkout -r <Version> CVSBeispiel

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.