Kurze Einführung in RCS

Lutz Sommerfeld

5. Juni 1996

1 Wozu brauche ich RCS ?

Das RCS ist ein Sicherheitssystem, welches immer dann anzuwenden ist, wenn mehere Personen parallel an einem Projekt arbeiten. Es verhindert, daß eine Datei von meheren Personen gleichzeitig verändert wird. Weiterhin bietet RCS vielfältige Möglichkeiten, ältere Versionen einer Datei (Revisionen) zu verwalten und gegebenenfalls wieder herzustellen.

2 Die wichtigsten Informationen zum RCS

Um mit RCS arbeiten zu können, muß zuerst in dem Verzeichnis, in dem mit den zu verwaltenden Dateien gearbeitet werden soll, ein Verzeichnis mit dem Namen RCS angelegt werden. Dazu ist es sinnvoll, ein RCS-Verzeichnis anzulegen und auf dieses Verzeichnis einen symbolischen link zu setzen (Ein symbolischer link wird mit ln -s globales-RCS-Verzeichnis RCS erstellt). So haben alle aus der Arbeitsgruppe das selbe RCS-Verzeichnis zur Verfügung.

Die wichtigsten RCS-Befehle sind

ci dateiname (check in) hat zur Folge, daß das aktuelle File, dateiname, in das RCS Verzeichnis abgelegt wird. Sollte dieses File bisher nicht im RCS gestanden haben, so wird automatisch nach einer Beschreibung für dieses File gefragt. Die Beschreibung wird mit einem einfachen Punkt am Anfang der letzten Zeile beendet. Gab es schon eine Version von diesem File im RCS, so wird danach gefragt, was an dem File verändert wurde. Ist das File nicht verändert worden, so wird die unveränderte Version ohne Kommentar in das RCS geschrieben. co dateiname (check out) ermöglicht es, im RCS abgelegte Dateien aus

diesem “herauszuholen“. Die Dateien sind jedoch read-only und können daher nicht verändert werden. Ein zurück schreiben des Files mittels ci ist nicht nötig und daher auch nicht möglich.

co -l dateiname (check out locked) mit diesem Befehl, wird die gewünschte Datei aus dem RCS geholt, allerdings wird für den jeweiligen Benutzer ein ”lock“ eingetragen, d.h. es kann verändert werden und die Veränderungen können später im RCS abgelegt werden. ABER: Solange der Benutzer dieses File nicht wieder mit ”ci dateiname“ in das RCS zurückschreibt kann kein anderer das File mittels ”co -l dateiname“ aus dem RCS herausholen und bearbeiten. Es ist daher sehr wichtig, daß gelockte Files nach der Bearbeitung wieder frei gegeben werden! Ein ”gelocktes“ File ist allerdings mittels ”co dateiname“ als read-only File für jeden verfügbar.

3 Variablen in den RCS-Files

In einer Datei die vom RCS verwaltet werden soll, kann man verschiedene RCS Variablen hinzufügen, sodaß diese dann bei jeder RCS-Benutzung entsprechend ersetzt werden. Diese Variablen sollten als Kommentar in das jeweilige File geschrieben werden. Wichtig ist, daß vor und nach der Variablen ein $ steht ($ Variablenname: $). Auf Großbuchstaben und das ”:” ist zu achten.

Mögliche Variablen sind

Author: Der Name der Person, welche die Revision in das RCS geschrieben hat.

Date: Das Datum und die Uhrzeit zu der die Datei in das RCS geschrieben wurde.

Header: Ein standard header mit den Angaben über den Pfad, die Versions-Nummer, Datum, Autor, Staus und lock-Eintrag.

Id: Wie Header aber ohne Pfad.

Locker: Name der Person, die das File gelocked hat, falls nicht gelocked wurde, existiert kein Eintrag.

Log: Die Log-Messages mit Angaben über den Autor, Datum, Uhrzeit und Version wird eingetragen.

RCSfile: Der Name des Files ohne Pfad.

Revision: Die Versions Nummer.

Source: Der Pfadname des Files.

State: Der Status in dem sich das File befindet (s. Manpage zu rcs und ci.

Normalerweise benutzt man nur die Log Variable, da mit dieser alle relevanten Informationen in das betreffende File geschrieben werden.

4 Ein kleines Beispiel

Möchte man z.B daß am Anfang des Files die Log-Message (s. Log:) eingetragen wird, so schreibt man an den Anfang in einem Latex-File :

%$Log:$

Das Ergebnis ist z.B.:

%$Log: test.tex,v $ % Revision 1.1 1994/12/01 09:03:09 slsommer % Initial revision % % Revision 1.41 1994/07/07 11:42:23 hholtkam % und nocheinmal delta auf 0.01 geaendert. % % Revision 1.40 1994/07/07 11:38:37 hholtkam % delta-Schranke fuer shortreal-Multiplikation auf 0.001 % % Revision 1.39 1994/07/06 12:55:35 hholtkam % Quantisierungsfenster veraendert und die Klassenanzahl auf max. 500 % reduziert. % % Revision 1.38 1994/07/05 13:54:52 hholtkam % *** empty log message *** % % Revision 1.37 1994/07/05 13:25:54 hholtkam % Nummernvergabe fuer die Grafikfenster eingebaut. % Es koennen max. 6 Grafikfenster geoeffnet werden, die Fenster werden von % 1 an durchnummeriert, Luecken werden nicht aufgefuellt.

% % Revision 1.36 1994/07/05 11:46:56 hholtkam % *** empty log message *** …