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.

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

    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

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    Workplace

    Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar