RCS |
Werkzeug zur Verwaltung aller Revisionen (Versionen)
einer Datei und zum geschützten Ändern von Dateien beim Arbeiten in einer Gruppe.
|
| |
ci |
checkin
eine Datei mit RCS verwalten
eine neue Revision in einem Archiv speichern
|
| |
co |
checkout
eine Revision aus einem Archiv auslesen
|
| |
co -l |
checkout mit lock
|
|
eine Revision aus einem Archiv zum Verändern auslesen
|
| |
Ablauf |
|
| |
Identifikation |
von Revisionen durch
RCS-Schlüsselwörter, z.B.
|
|
$Id$
|
|
Dateiname, Revisionsnummer, Tag, Zeit, Bearbeiter
|
|
$Id: rcs.html,v 1.7 2012/04/20 14:01:01 uwe Exp $
|
|
in Quellen üblicherweise in Kommentar eingeschlossen
in C
|
|
/* $Log: rcs.html,v $
*/
|
|
in Shell-Skripts
# $Log: rcs.html,v $
|
| |
in C |
typische Verwendung
|
|
static char rcsid[] = "$Id$";
|
| |
Änderungsprotokoll |
mit Schlüsselwort $Log$
in einem Shell-Skript
|
|
echo "%0 wurde mit %# Parameter(n) aufgerufen."
echo "Die Parameter haben die Werte:"
while [ %
do
echo " %1" ;shift
done
|
| |
Revisionsbaum |
|
| |
|
erzeugt mit
|
|
ci datei
co -l datei
edit datei
ci datei
co -l datei
edit datei
ci datei
co -l datei
edit datei
ci -r2 datei
co -l datei
edit datei
ci datei
|
| |
|
Revisionskette
keine Verzweigungen
|
| |
Verzweigungen |
im Versionsbaum: Varianten
|
|
|
| |
|
erzeugt mit
|
|
co -l datei
edit datei
ci datei
co -l datei
edit datei
ci datei
co -l -r1.3 datei
edit datei
ci -r1.3.1 datei
co -l -r1.3.1 datei
edit datei
ci datei
|
| |
|
Revisionsbaum
mit einer Verzweigung
|
| |
Deltas |
Unterschiede zwischen Revisionen
|
|
zur Speicherplatzoptimierung
|
diff |
kann Deltas in unterschiedlichem Format berechnen.
diff --rcs file1 file2 berechnet das in Rcs genutzte Format.
|
Rückwärts-Deltas |
Version n-1 wird aus Version n
und dem delta n (n-1) berechnet
|
| |
Beispiel |
|
|
|
| |
Vorwärts-Deltas |
Version n wird aus Version n-1
und dem delta n (n-1) berechnet
|
| |
Beispiel |
Verzweigungen
im Versionsbaum
|
|
|
| |
Schreibsperre |
locking
|
|
problematisch: Konsistenz <==> Parallelarbeit
|
| |
Strategien |
|
|
finde die Person, die die Datei zum Ändern ausgecheckt hat
und und bitte diese, die Version zurückzuschreiben.
|
|
check die gesperrte Version aus, verändere sie, speichere sie als Zweig zurück
und mische die Änderungen später zusammen.
|
| |
Beispiel |
|
mkdir RCS |
Verzeichnis für die Archive anlegen
|
ci -i f.c |
Archiv für f.c anlegen in der Version 1.1
|
co f.c |
Version aus dem Archiv auslesen
|
co -l f.c |
Version mit Schreibsperre aus dem Archiv auslesen
|
edit f.c |
weiter entwickeln
|
rcsdiff f.c |
Änderungen mit dem Archiv vergleichen
|
ci f.c |
Änderungen speichern Revisionsnummer erhöhen
|
ci -l f.c |
Änderungen speichern weiter entwickeln
|
ci -u f.c |
Änderungen speichern Version behalten
|
ci -r2 f.c |
Versionsnummer erhöhen
|
co -r2 f.c |
letzte Revision der Version 2 auslesen
|
co -r2.1 f.c |
Revision 1 von version 2 auslesen
|
ci -r1.3.1 f.c |
Zweig anlegen für Version 1.3
|
|
|
| |
CVS |
Erweiterung von RCS für Verzeichnisbäume
|