Kurzanleitung zur Versionsverwaltung mit CVS

Versionsgeschichte
Version 0.2.105.02.2002Geändert durch: cl
Satzbau korrigiert, danke für den Hinweis von Jens Frahne (jens.frahne@web.de).
Version 0.208.10.2000Geändert durch: cl
Erster Text.

Diese Kurzanleitung soll den Einstieg in die Versionsverwaltung von Dokumenten wie Programmquellcode und Texten mit Hilfe des Programms Concurrent Version System (CVS) erleichtern. Die konkreten Beispiele werden sowohl für GNU/Linux- als auch Windows-Systeme gegeben.

Übersicht

Funktionsweise

In dieser Einleitung wird zunächst die Funktionsweise einer Versionsverwaltung aus Nutzersicht dargestellt. Die konkreten Arbeitsschritte werden in den folgenden Abschnitten beschrieben. Den Abschluss bildet eine Sammlung von Verweisen mit Bezugsquellen der Software und weiteren Hinweisen.

Ziel der Versionsverwaltung ist es die Veränderungen an einem Dokument nachzuhalten. Es ist dadurch möglich das Aussehen zu verschiedenen Zeitpunkten der Arbeit wieder rekonstruieren zu können. Außerdem ist es sinnvoll möglich mit mehreren Personen gleichzeitig am gleichen Dokument zu arbeiten bzw. einer Person mit mehreren Kopien beispielsweise an unterschiedlichen Orten.

In dieser Kurzanleitung wird die freie Software Concurrent Version System (CVS) beschrieben. Die eigentliche Verwaltung der verschiedenen Versionen der Dokumente geschieht an einer zentralen Stelle mit Hilfe des CVS-Servers.

Der Nutzer von CVS lädt im ersten Schritt eine Arbeitkopie vom Server auf seinen lokalen Rechner. Dieser Vorgang wird als Auschecken (check out) bezeichnet. Meist wird nicht ein einzelnes Dokument ausgecheckt, sondern ein ganzes Projekt, in dem mehrere Dateien unter einem Namen zusammengefasst werden. Im CVS-Kontext wird dabei von Modulen geredet.

Nach dem der Nutzer seine Änderungen an seiner Arbeitskopie vorgenommen hat, überspielt er sie wieder zum zentralen Server (check in). Anschließend kann er die lokale Kopie wieder löschen (release). Natürlich können auch neue Dokumente dem bereits bestehenden Projekt hinzugefügt werden (add).

Bei jedem Aktualisierungvorgang wird für jede geänderte Datei die Versionsnummer um eine Stelle erhöht, z.B. von 1.1 auf 1.2. Bei Bedarf kann nun jede Version einer Datei wieder aus dem zentralen CVS-System abgerufen werden. Zusätzlich können auch zusammengehörige Dateien, die z.B. eine bestimmte Programmversion darstellen, mit dem Namen (tag) belegt werden und dann auch wieder in dieser Form zu einem späteren Zeitpunkt wieder aus dem System abgerufen werden.

Ablauf der Beispiele

In den folgenden Beispielen wird jeweils ein Arbeitsverzeichnis angelegt, das Projekt demo von einem Rechner mit dem Namen abraxas abgerufen und wieder zurückgespielt. Zur Datenübertragung wird in allen Fällen eine gesichterte Übertragung mit Hilfe der Secure Shell (ssh) genutzt.

Alle Beispiele bieten den gleichen Funktionsumfang, sind jedoch für Anwender mit unterschiedlichen Bedürfnissen und Betriebssystemen dargestellt: