Revision Control System (RCS) Kurzinfo
Einführung
Das Revision Control
System (RCS) dient zur Verwaltung mehrerer Versionen von
Dateien. Es wird eine Log-Datei geführt, die Versionsnummer
wird automatisch inkrementiert, es gibt Datei-Locking,
Textänderungen zwischen verschiedenen Versionen können angezeigt
werden.
Es ist damit sehr nützlich bei der Entwicklung von Programmen,
Dokumentationen und Veröffentlichungen, insbesondere auch
dann, wenn mehrere Autoren daran beteiligt sind.
Wichtigste Kommandos
- ci
- "check in": Archivierung einer Datei
- ci -u myfile
- co
- "check out": holt eine Revision der Datei aus dem Archiv
(normalerweise die letzte)
- co -l myfile
Wie beginnt man?
- mkdir ./RCS
Man legt ein Unterverzeichnis für das RCS-Archiv an.
- Es empfiehlt sich, eine Kommentarzeile mit einer
Id-Markierung ($Id$) in den Kopf der Datei einzufügen,
z.B.:
static char rcsid[] = "$Id$";
<!-- $Id$ -->
- ci myfile
Damit wird die Datei im RCS-Archiv abgelegt, die ursprüngliche
Datei wird gelöscht. Es wird nach einer Kurzbeschreibung
gefragt, die in die Log-Datei eingetragen wird.
- co myfile
Holt eine Arbeitskopie (letzte Revision) der Datei aus dem Archiv.
Diese Arbeitskopie darf zunächst nur zum Lesen benutzt
werden.
Editieren von RCS-verwalteten Dateien
Normalerweise führt man die folgenden drei Schritte aus:
- co -l myfile
"check out locked": Eine Arbeitskopie wird geholt, und der
Benutzer erhält eine Editier-Erlaubnis.
- edit myfile
Die Datei wird mit einem Editor der Wahl ("edit": vi, emacs,
pico, nedit, point ...) editiert.
- ci -u myfile
"check in unlocked": Die neue Version wird archiviert, der Lock
entfernt. In die Log-Datei sollte eine Kurzbeschreibung der
Änderungen eingetragen werden.
Änderungen anzeigen lassen
- rcsdiff myfile
- zeigt Änderungen zwischen der Arbeitsdatei und der
zuletzt archivierten Datei an (mittels diff).
- rcsdiff -r1.1 -r1.2 myfile
- zeigt die Änderungen zwischen den Revisionen 1.1 und 1.2.
- co -r1.1 myfile
- holt eine bestimmte Revision aus dem Archiv, im Beispiel 1.1.
Spezialfall amd.user
Es gibt Dateien, bei denen der Normalzustand checked-out und locked
ist, z.B. "amd.user". Zum Editieren geht man hier folgendermaßen
vor:
- rcs -l amd.user
- ci -l amd.user
- edit amd.user
- ci -l amd.user
Log-Eintragungen
Analog zur Marke $Id$ gibt es eine Marke $Log$,
die man ggf. in eine Kommentarzeile schreiben kann.
Es werden dann die Log-Einträge mitprotokolliert.
Burkhard Kirste, 1996-10-18