sccs(1) sccs(1)
NAME
sccs - Oberstes Kommando für das Source Code Control System (SCCS)
SYNTAX
sccs [-r] [-d rootpath] [-p finalpath] command [SCCS-option ...]
[filename ...]
BESCHREIBUNG
Das Kommando sccs ist ein "frontend" der Dienstprogramme für das
Source Code Control System (SCCS).
sccs stellt normalerweise jedem Dateinamen filename bzw. der letzten
Komponente jedes filename die Zeichenkette "SCCS/s." voran, da Sie in
der Regel Ihre SCCS-Datenbankdateien in einem Verzeichnis namens SCCS
speichern und jede Datenbankdatei mit einem Präfix "s." beginnt.
Die Umgebungsvariable PROJECTDIR gibt an, in welchem Verzeichnis
SCCS-Dateien gesucht werden sollen, falls sie nicht im aktuellen Ver-
zeichnis liegen. SCCS-Dateien werden jeweils in einem Unterverzeichnis
SCCS gesucht. Bei Angabe von relativen Pfadnamen wird zunächst das
HOME-Verzeichnis nach Unterverzeichnissen src bzw. source durchsucht.
Existieren diese Verzeichnisse nicht, wird der Pfad relativ zum aktu-
ellen Verzeichnis gesetzt.
sccs-Programmoptionen müssen vor dem Argument command stehen. Optio-
nen, die an das eigentliche SCCS-Kommando (Dienstprogramm) übertragen
werden sollen, müssen nach dem Argument command stehen. Es handelt
sich hierbei um spezielle Optionen für das verwendete Argument com-
mand.
sccs kann als "set-Benutzer-ID"-Programm installiert werden, um
zusätzlichen Schutz zu bieten. Der Zugriff auf die SCCS-Dateien ist
damit für einen beliebigen Benutzer nicht mehr direkt möglich, sondern
nur unter Verwendung des passenden sccs-Aufrufs. Um zu verhindern, daß
damit auch "Administrator"-Kommandos [wie admin(1)] von beliebigen
Benutzern aufgerufen werden können, werden diese Kommandos immer unter
der realen Benutzer-ID ausgeführt.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
sccs(1) sccs(1)
OPTIONEN
-r sccs ruft command mit der realen Benutzer-ID auf und nicht mit
der effektiven Benutzer-ID, unter der sccs selbst läuft.
-d rootpath
Definiert den vorderen Teil des Pfadnamens für die SCCS-
Datenbankdateien. Standard ist das aktuelle Verzeichnis. rootpath
wird dem gesamten Pfadnamen vorangestellt (siehe BEISPIELE).
Der hier angegebene Pfadname hat Vorrang vor den Verzeichnissen,
die durch die Umgebungsvariable PROJECTDIR definiert sind.
-p finalpath
Definiert den Namen des Verzeichnisses, das die SCCS-Dateien ent-
hält. Standard ist SCCS. finalpath wird vor der letzten Kompo-
nente eines bei command angegebenen Pfadnamens eingefügt (siehe
BEISPIELE).
ZUSAETZLICHE SCCS-KOMMANDOS
Zusätzlich zu den normalen SCCS-Kommandos stehen folgende Pseudo-
Kommandos zur Verfügung:
check Dateien feststellen, die derzeit editiert werden. Ähnliche
Funktion wie info, gibt aber keine Liste zurück, sondern
einen Endecode: Wenn keine Datei editiert wird, erfolgt
auch keine Ausgabe, und wenn eine Datei editiert wurde,
wird ein von Null abweichender Endestatus zurückgegeben.
check kann daher in einem Installationseintrag in einem
enthalten sein, um so sicherzustellen, daß eine SCCS-Datei
alle benötigten Komponenten enthält, bevor eine Version
installiert wird.
clean Alle Dateien aus dem aktuellen Verzeichnis löschen, die
aus SCCS-Dateien neu erstellt werden können. clean stellt
alle Dateien fest, die derzeit editiert werden, und löscht
diese nicht. Bei der Verwendung von "clean -b" wird nicht
geprüft, ob momentan Verzweigungen editiert werden. Hin-
weis: Wenn Sie die Verzweigungen in demselben Verzeichnis
speichern, ist es gefährlich, -b zu verwenden.
create Neue SCCS-Dateien erstellen. Alle Optionen des Kommandos
admin können angegeben werden. Nach erfolgreicher Erstel-
lung der SCCS-Datei wird die Originaldatei durch Einfügen
eines Komma vor dem Basisnamen umbenannt.
delget Ein delta für die angegebenen Dateien durchführen und
anschließend mit get neue Versionen abrufen. Die Schlüs-
selwörter sind erweitert, so daß die neuen Versionen nicht
editiert werden können.
deledit Die gleiche Funktion wie delget, erstellt jedoch neue
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
sccs(1) sccs(1)
Versionen, die editiert werden können (get -e). deledit
ist zum Erstellen eines Prüfpunkts für Ihre aktuelle Edi-
tierphase nützlich.
diffs Ihre aktuelle Version des editierten Programms und die
Versionen im SCCS-Format (im diff-ähnlichen Format) ver-
gleichen. diffs akzeptiert dieselben Argumente wie diff,
außer daß die Option -c als -C angegeben werden muß, da
die Option -c als Option für get angesehen wird, das wie-
derum die Version kennzeichnet, die mit der aktuellen Ver-
sion verglichen werden soll.
edit Eine Datei zur Editierung abrufen (gleichbedeutend mit
get -e).
fix Die angegebene Delta-Version entfernen, jedoch eine Kopie
der Delta-Version mit den Änderungen in ihr beibehalten.
fix muß eine Option -r SID folgen. fix ist zum Beheben
kleiner Compiler-Fehler usw. nützlich. Da fix keine Prüf-
protokolle (Audit Trails) übergibt, sollte es mit Vorsicht
verwendet werden.
info Eine Liste aller derzeit editierten Dateien anzeigen. Wenn
die Option -b angegeben wird, werden Verzweigungen (d. h.
SIDs mit zwei oder weniger Komponenten) ignoriert. Wenn
die Option -u user angegeben wird, werden nur Dateien auf-
gelistet, die von dem angegebenen Benutzer editiert wer-
den. -U entspricht -u aktuellerBenutzer.
print Ausführliche Informationen über die angegebenen Dateien
ausgeben, wie bei sccs prs.
tell Eine Liste der editierten Dateien auf die Standard-Ausgabe
schreiben. Dateinamen werden durch Zeilenvorschubzeichen
getrennt. Für die Optionen -b und -u bzw. -U gilt dasselbe
wie bei info und check.
unedit Das letzte edit oder get -e wieder rückgängig machen und
eine Datei wieder in ihrem vorherigen Zustand herstellen.
Wenn Sie die Editierung einer soeben editierten Datei mit
unedit zurücknehmen, gehen alle Änderungen verloren, die
seit dem Beginn dieser Editiersitzung vorgenommen wurden.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
sccs(1) sccs(1)
BEISPIELE
Das Kommando
sccs -d /usr/include get sys/inode.h
wird umgesetzt in:
get /usr/include/sys/SCCS/s.inode.h
Hierdurch soll es ermöglicht werden, Aliasse zu erstellen, wie z. B.:
alias syssccs = "sccs -d /usr/src"
Diese werden verwendet als:
syssccs get cmd/who.c
Das Kommando
sccs -p private get usr/include/stdio.h
wird umgesetzt in:
get usr/include/private/s.stdio.h
Eine Datei namens myprogram.c wird folgendermaßen zum ersten Mal in
das SCCS-Format umgesetzt, vorausgesetzt, daß noch kein SCCS-
Verzeichnis existiert:
$ mkdir SCCS
$ sccs create myprogram.c
$ myprogram.c:
1.1
14 lines
Nachdem Sie sichergestellt haben, daß alles ordnungsgemäß ist, entfer-
nen Sie die Version der Datei, an deren Beginn ein Komma steht:
$ rm ,myprogram.c
Folgendermaßen erhalten Sie eine Kopie von myprogram.c zum Editieren,
editieren die Datei und stellen sie zurück in die SCCS-Datenbank:
$ sccs edit myprogram.c
1.1
new delta 1.2
14 lines
$ vi myprogram.c
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
sccs(1) sccs(1)
Ihre Editiersitzung beginnt.
$ sccs delget myprogram.c
comments? Added abusive responses for compatibility
1.2
7 inserted
7 deleted
7 unchanged
1.2
14 lines
Folgendermaßen rufen Sie eine Datei aus einem anderen Verzeichnis ab:
sccs -p /usr/src/sccs/ get cc.c
Alternativ können Sie auch folgendes eingeben:
sccs get /usr/src/sccs/cc.c
Folgendermaßen erstellen Sie eine Delta-Version von vielen Dateien im
aktuellen Verzeichnis:
sccs delta *.c
Folgendermaßen rufen Sie eine Liste der editierten Dateien ab, die
sich nicht in Verzweigungen befinden:
sccs info -b
Folgendermaßen erstellen Sie die Delta-Version aller editierten
Dateien:
sccs delta `sccs tell -u`
In einem Makefile rufen Sie folgendermaßen Quelldateien aus einer
SCCS-Datei ab, wenn diese noch nicht existiert:
SRCS = <listofsourcefiles>
$(SRCS):
sccs get $(REL) $@
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
sccs(1) sccs(1)
INTERNATIONALE UMGEBUNG
Die Sprache der Meldungstexte wird durch die Umgebungsvariablen
LCALL, LCMESSAGES oder LANG bestimmt.
In der Standardeinstellung verhält sich das System so, als wäre es
nicht internationalisiert, d. h. die Meldungstexte erscheinen in eng-
lischer Sprache. Wenn Sie die Sprache der Meldungstexte ändern wollen,
müssen Sie eine dieser Variablen entsprechend setzen.
Ausführliche Informationen zu den Abhängigkeiten der Umgebungsvaria-
blen und zur Internationalisierung im allgemeinen finden Sie im Hand-
buch "Leitfaden für Programmierer: Internationalisierung - Lokalisie-
rung". Zur Einstellung der Benutzerumgebung siehe auch environ(5).
DATEIEN
/usr/sccs/*
SIEHE AUCH
admin(1), cdc(1), comb(1), delta(1), get(1), help(1), make(1), prs(1),
rmdel(1), sact(1), sccsdiff(1), unget(1), val(1), what(1),
sccsfile(4).
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98