|
|
CVS (Concurrent Versions System)CVS (Concurrent Versions System) dient dazu, bei der Softwareentwicklung die Fortentwicklung der Projekte zu speichern. Es ermöglicht einerseits den Zugriff auf ältere Versionen und andererseits den unproblematischen Zugriff durch mehrere Programmierer. Während RCS (Revision Control System) und SCCS nur einzelne Dateien kontrollieren, arbeitet CVS projektorientiert. Es wird pro Projekt ein Repository angelegt, das mehrere Module (Verzeichnisse) und darunter wieder mehrere Dateien aufnehmen kann. Auch wenn es möglich ist, mehrere Projekte in einem einzigen Repository als Module abzulegen, wird dies hier nicht näher betrachtet. Die minimale Ersparnis steht in keinem Verhältnis zum entstehenden Durcheinander und dem Verlust an Flexibilität. CVS kann auch als echte Client-Server-Applikation installiert werden. Das hat mehrere Vorteile. Damit ist die Versionskontrolle unabhängig von den Fähigkeiten des Netzwerkdateisystems. Darüber hinaus eignet sich CVS auf diese Weise sogar zum Betrieb über das Internet.
Umgebungsvariable CVSROOTDas Repository ist der Ort, wo CVS die Sourcen und ihre Entwicklung zentral abspeichert. Hier hat kein Entwickler etwas zu suchen. Um die Sourcen weiter zu bearbeiten, legt sich jeder Entwickler an einer beliebigen anderen Stelle ein Arbeitsverzeichnis an und arbeitet dort. Der Ort des Repository wird in der Environment-Variablen CVSROOT festgehalten. Unter UNIX kann diese in der /etc/profile oder in den jeweiligen lokalen rc-Dateien, beispielsweise .bashrc definiert werden.
export CVSROOT=/home/cvs
Anlegen eines Repositories
Das Verzeichnis, auf das CVSROOT zeigt, muss angelegt werden. Anschließend
wird mit dem Befehl
Das Eintragen eines
Moduls wird durch den Befehl
export CVSROOT=/home/cvs mkdir $CVSROOT cvs init mkdir worksrc cd worksrc cvs import -m "Basisverzeichnis" . V1_0 R1_0 Jetzt existiert ein Repository, aus dem sich jeder Programmierer an anderer Stelle ein Arbeitsverzeichnis erstellen kann. Das eben angelegte Verzeichnis worksrc wird nun nicht mehr benötigt und kann entfernt werden. Sie können es natürlich auch als Arbeitsverzeichnis weiterverwenden.
Dateien aus dem Repository holen
Um erstmalig mit den Sourcen arbeiten zu können, müssen Sie mit dem Befehl
cvs checkout . cvs checkout unix In der ersten Zeile wird das Hauptverzeichnis eines Projektes mit allen Unterverzeichnissen in das Arbeitsverzeichnis übernommen. Die zweite Zeile holt nur das Modul unix und seine Unterverzeichnisse aus dem Projekt heraus.
Änderungen im Repository abstellen
Während bei anderen Versionssystemen die zu bearbeitenden Dateien reserviert
werden müssen, ist dies bei CVS nicht erforderlich. Die geänderten Dateien
werden mit dem Befehl
Neue Dateien hinzufügen
Neue Dateien werden mit
Dateien aus dem Repository entfernen
Wenn eine Datei entfernt werden soll, muss sie zunächst im Arbeitsverzeichnis
gelöscht werden. Dann kann sie mit dem Befehl
rm oldfile.cpp cvs remove oldfile.cpp cvs commit oldfile.cpp
Rückgriff auf alte Versionen
Mit dem Befehl
cvs diff myfile.cpp cvs diff -r 1.1 myfile.cpp cvs diff -r 1.1 -r 1.2 myfile.cpp
Welche Version einer Datei vorliegen, können Sie sich mit
Releases
Soll eine Release der Software erstellt werden, besteht diese aus den
verschiedensten internen Versionen des CVS. Um einen zusammengehörigen
fertigen Stand zu markiieren, gibt es den Befehl
cvs tag alfa0_8 cvs checkout -r alfa0_8 .
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|