Befehl "admin" (SCCS)
Zweck
Erstellt und steuert SCCS-Dateien (Source Code Control System).
Syntax
Neue SCCS-Dateien erstellen:
admin { -n -i[Dateiname ] } [ -a { Benutzer | Gruppen-ID } ] ... [ -f Header-Flag[Wert ] ... ] [ -r SID ] [ -t Dateiname ] [ -m Änderungsanforderungsliste ] [ -y[Kommentar ] ] Datei ...
Anmerkung: Fügen Sie zwischen einem Flag und einer optionalen (in eckigen Klammern angegebenen) Variablen kein Leerzeichen ein.
Vorhandene SCCS-Dateien ändern:
admin [ -a { Benutzer | Gruppen-ID } ] ... [ -e { Benutzer | Gruppen-ID } ] ... [ { -d Header-Flag | -f Header-Flag[Wert ] ... } ] [ -m Änderungsanforderungsliste ] [ -t[Dateiname ] ] [ -y[Kommentar ] ] Datei ...
Anmerkung: Fügen Sie zwischen einem Flag und einer optionalen (in eckigen Klammern angegebenen) Variablen kein Leerzeichen ein.
Beschädigte SCCS-Dateien überprüfen:
admin -h Datei ...
Beschädigte SCCS-Dateien korrigieren:
admin -z Datei ...
Beschreibung
Der Befehl admin erstellt neue SCCS-Dateien (Source Code Control System) oder ändert bestimmte Parameter in vorhandenen SCCS-Dateien.
Der Befehl admin ändert die Parameter, die steuern, wie der Befehl get die Dateien erstellt, die Sie bearbeiten können. Die Parameter können auch Bedingungen definieren, die bestimmen, wer auf die Datei zugreifen darf und welche Releases der Dateien bearbeitet werden können.
Wenn die für den Parameter Datei angegebene Datei vorhanden ist, ändert der Befehl admin die Datei entsprechend den angegebenen Flags. Wenn die Datei nicht vorhanden ist und Sie das Flag -i oder -n angeben, erstellt der Befehl admin eine neue Datei und stellt Standardwerte für nicht angegebene Flags bereit.
Wenn Sie einen Verzeichnisnamen für den Parameter Datei angeben, führt der Befehl admin die angeforderten Aktionen für alle SCCS-Dateien in diesem Verzeichnis aus. Alle SCCS-Dateien enthalten das Präfix s. vor dem Dateinamen. Wenn Sie - (Minuszeichen) für den Parameter Datei angeben, liest der Befehl admin die Standardeingabe und interpretiert jede Zeile als Namen einer SCCS-Datei. Ein Dateiendezeichen beendet die Eingabe.
Zum Erstellen einer Datei müssen Sie Schreibberechtigung für das Verzeichnis haben. Alle SCCS-Dateinamen müssen das Format s.Name haben. Neue SCCS-Dateien werden mit Lesezugriffsberechtigung erstellt. Der Befehl admin schreibt Daten in eine temporäre x-Datei, die er x.Name nennt. Wenn diese Datei bereits vorhanden ist, hat die x-Datei dieselben Berechtigungen wie die ursprüngliche SCCS-Datei. Die x-Datei ist schreibgeschützt, wenn der Befehl admin eine neue Datei erstellen muss. Nach erfolgreicher Ausführung des Befehls admin wird die x-Datei in den Namen der SCCS-Datei umbenannt. Auf diese Weise wird sichergestellt, dass Änderungen an der SCCS-Datei nur dann vorgenommen werden, wenn der Befehl admin während der Ausführung keine Fehler feststellt.
Verzeichnisse, die SCCS-Dateien enthalten, müssen mit dem Berechtigungscode 755 (Lese-, Schreib- und Ausführungsberechtigungen für den Eigner, Lese- und Ausführungsberechtigungen für Gruppenmitglieder und andere) erstellt werden. Die SCCS-Dateien selbst müssen als schreibgeschützte Dateien (444) erstellt werden. Mit diesen Berechtigungen kann nur der Eigner andere Befehle als SCCS-Befehle zum Ändern von SCCS-Dateien verwenden. Wenn eine Gruppe auf die SCCS-Dateien zugreifen und diese ändern kann, müssen die Verzeichnisse Schreibberechtigungen für die Gruppe einschließen.
Der Befehl admin verwendet eine temporäre Sperrdatei (mit dem Namen z.Name), um zu verhindern, dass von verschiedenen Benutzern gleichzeitig Aktualisierungen an der SCCS-Datei vorgenommen werden.
Sie können Flags und Eingabedateinamen in beliebiger Reihenfolge eingeben. Alle Flags gelten jeweils für alle Dateien. Fügen Sie kein Leerzeichen zwischen einem Flag und einer optionalen (in eckigen Klammern eingeschlossenen) Variablen ein. Header-Flags können mit dem Flag -f gesetzt und mit dem Flag -d entfernt werden. Header-Flags steuern das Format der mit dem Befehl get erstellten g-Datei.
Flags
| Element | Beschreibung |
|---|---|
| -a Benutzer oder -a Gruppen-ID | Fügt den angegebenen Benutzer zur Liste der Benutzer hinzu, die Änderungen (Deltas) an der SCCS-Datei vornehmen dürfen. Für Benutzer kann ein Benutzername oder eine Gruppen-ID angegeben werden. Die Angabe einer Gruppen-ID entspricht der Angabe der Namen aller Benutzer in dieser Gruppe. Sie können mehrere Flags -a in einer einzigen admin-Befehlszeile angeben. Wenn eine SCCS-Datei eine leere Benutzerliste enthält, kann jeder Deltas hinzufügen. Wenn eine Datei eine Benutzerliste enthält, muss der Ersteller der Datei in die Liste eingeschlossen werden, damit der Ersteller Deltaänderungen an der Datei vornehmen kann. Wenn Sie dem Parameter Benutzer oder Gruppen-ID ein Ausrufezeichen (!) voranstellen, wird den angegebenen Benutzern die Berechtigung für Deltaänderungen verweigert. Geben Sie beispielsweise -a !Benutzer ein. |
| -d Header-Flag | Inaktiviert die Auswirkungen des angegebenen Header-Flags in der SCCS-Datei. Sie können dieses Flag nur mit vorhandenen SCCS-Dateien angeben. Es ist auch möglich, mehrere Flags -d in einem einzigen Befehl admin anzugeben. Weitere Informationen zu den unterstützten Werten finden Sie in der folgenden Liste mit Header-Flags. |
| -e Benutzer oder -e Gruppen-ID | Entfernt den angegebenen Benutzer aus der Liste der Benutzer, die Deltaänderungen an der SCCS-Datei vornehmen dürfen. Die Angabe einer Gruppen-ID entspricht der Angabe aller Benutzernamen für diese Gruppe. Sie können mehrere Flags -e in einer einzigen admin-Befehlszeile angeben. |
| -f Header-Flag[Wert ] | Aktiviert das Header-Flag und den Wert in der SCCS-Datei. Es ist auch möglich, mehrere Header-Flags in einem einzigen Befehl admin anzugeben. Es gibt 12 Header-Flags. Weitere Informationen zu den unterstützten Werten finden Sie in der folgenden Liste mit Header-Flags. Fügen Sie zwischen den Variablen Header-Flag und Wert kein Leerzeichen ein. |
| -h | Überprüft die Struktur der SCCS-Datei und vergleicht eine neu berechnete Kontrollsumme mit der Kontrollsumme, die in der ersten Zeile der SCCS-Datei gespeichert ist. Wenn die Kontrollsummenwert nicht korrekt ist, wurde die Datei nicht ordnungsgemäß geändert oder sie wurde beschädigt. Mithilfe dieses Flags können Sie Beschädigungen, die durch eine nicht ordnungsgemäße Verwendung von Nicht-SCCS-Befehlen zum Ändern von SCCS-Dateien verursacht wurden, und versehentliche Beschädigungen erkennen. Das Flag -h verhindert das Schreiben in die Datei und unterdrückt damit die Auswirkungen aller anderen angegebenen Flags. Wenn eine Fehlernachricht zurückgegeben wird, die anzeigt, dass die Datei beschädigt ist, verwenden Sie das Flag -z, um die Kontrollsumme neu zu berechnen. Prüfen Sie anschließend, ob die Datei korrigiert wurde, indem Sie das Flag -h erneut verwenden. |
| -i[Dateiname ] | Ruft den Text für eine neue SCCS-Datei aus der Variablen Dateiname ab. Dieser Text ist das erste Delta der Datei. Wenn Sie das Flag -i angeben, aber keine Dateinamen, liest der Befehl admin den Text aus der Standardeingabe, bis er ein Dateiendezeichen erreicht. Wenn Sie das Flag -i nicht angeben, aber das Flag -n, erstellt der Befehl eine leere SCCS-Datei. Der Befehl admin kann jeweils nur eine einzige Datei mit Text erstellen. Wenn Sie zwei oder mehr SCCS-Dateien mit einem einzigen Aufruf des Befehls admin erstellen, müssen Sie das Flag -n verwenden, und die erstellten SCCS-Dateien sind leer. Jede Zeile der mit der Variablen Dateiname angegebenen Datei darf nicht mehr als 512 Zeichen enthalten. Der Dateiname kann MBCS-Zeichen (Multibyte Character Set, Mehrbytezeichensatz) enthalten. Fügen Sie zwischen dem Flag und der Variablen Dateiname kein Leerzeichen ein. |
| -m Änderungsanforderungsliste | Gibt eine Liste von Änderungsanforderungsnummern, die in die SCCS-Datei eingefügt werden sollen, als Grund für die Erstellung des ersten Deltas an. Eine Nullliste oder eine leere Liste kann je nach verwendetem Validierungsprogramm gültig sein. Das Header-Flag v muss gesetzt werden. Die Änderungsanforderungsnummern werden validiert, wenn das Header-Flag v einen Wert hat (Name eines Validierungsprogramms für Änderungsanforderungsnummern). Der Befehl admin meldet einen Fehler, wenn das Header-Flag v nicht gesetzt ist oder wenn die Validierung der Änderungsanforderungen fehlschlägt. |
| -n | Erstellt eine neue, leere SCCS-Datei. Wenn Sie das Flag -n ohne das Flag -i verwenden, wird die SCCS-Datei mit Steuerinformationen, aber ohne Dateidaten erstellt. |
| -r SID | Gibt die zu erstellende Dateiversion für die SCCS-ID-Zeichenfolge (SID) an.
Für die Variable SID kann ein Delta mit vier Ebenen angegeben werden:
Release, Version, Zweig, und Folgenummer, z. B. 3.2.5.1. Wenn Sie nur das Release angeben, geht der Befehl admin automatisch von
Version 1 aus. Wenn Sie das Flag -r nicht angeben, wird aus dem ersten Delta
Release 1, Version 1 (d. h. 1.1). Weitere Details zur Angabe der SID finden Sie in der Tabelle zur SID-Bestimmung in der Beschreibung des Befehls
get. Sie können das Flag -r nur angeben, wenn Sie auch das Flag -i oder das Flag -n angeben. Verwenden Sie dieses Flag nur beim Erstellen einer SCCS-Datei. |
| -t [Dateiname] | Verwendet beschreibenden Text für die SCCS-Datei aus der mit der Variablen
Dateiname angegebenen Datei. Wenn Sie das Flag -t beim Erstellen einer neuen
SCCS-Datei verwenden, müssen Sie einen Dateinamen angeben. Sollten
SCCS-Dateien vorhanden sein, gilt Folgendes:
Fügen Sie zwischen dem Flag und der Variablen Dateiname kein Leerzeichen ein. |
| -y [Kommentar] | Fügt den angegebenen Kommentar auf dieselbe Weise wie der Befehl delta in das erste Delta ein. Verwenden Sie dieses
Flag nur beim Erstellen einer SCCS-Datei. Wenn Sie keinen Kommentar angeben, fügt der Befehl admin eine Zeile im folgenden Format ein:
Die Kommentare können MBCS-Zeichen (Multibyte Character Set, Mehrbytezeichensatz) enthalten. Fügen Sie zwischen dem Flag und der Variablen Dateiname kein Leerzeichen ein. |
| -z | Berechnet die Kontrollsumme der SCCS-Datei neu und speichert sie in der ersten Zeile der
SCCS-Datei (weitere Informationen finden Sie in der Beschreibung des Flags -h).
Achtung: Die Verwendung des Befehls admin mit dem Flag -z für eine beschädigte Datei kann die künftige Verwendung der Beschädigung verhindern. Dieses Flag darf nur verwendet werden, wenn die SCCS-Datei wegen eines schwerwiegenden Fehlers mit Nicht-SCCS-Befehlen geändert wird. |
| Datei | Gibt den Namen der mit dem Befehl admin erstellten bzw. geänderten Datei an. Wenn Sie ein Minuszeichen (-) angeben, liest der admin aus der Standardeingabe. Ein Dateiendezeichen beendet die Standardeingabe. |
Header-Flags
Die folgende Liste enthält die Header-Flags, die mit dem Flag -f gesetzt und mit dem Flag -d entfernt werden können. Header-Flags steuern das Format der mit dem Befehl get erstellten g-Datei.
| Element | Beschreibung |
|---|---|
| b | Ermöglicht Ihnen, das Flag -b eines get-Befehls zum Erstellen von Zweigdeltas zu verwenden. |
| c Nummer | Legt die Variable Nummer als höchste Releasenummer fest, die ein Befehl get -e verwenden kann. Der Wert der Variablen Nummer muss größer als 0 und kleiner-gleich 9999 sein. (Der Standardwert ist 9999.) |
| d SID | Legt die Variable SID als Standarddelta für einen get-Befehl fest. |
| f Nummer | Legt die Variable Nummer als niedrigste Releasenummer fest, die ein Befehl get -e abrufen kann. Der Wert der Variablen Nummer muss größer als 0 und kleiner als 9999 sein. (Der Standardwert ist 1.) |
| i [Zeichenfolge] | Behandelt die folgende vom Befehl get oder delta ausgegebene Informationsnachricht als Fehler:
Wenn dieses Flag fehlt, wird die Nachricht nur als Warnung behandelt. Die Nachricht wird
ausgegeben, wenn keine SCCS-ID-Kennwörter in dem Text gefunden werden, der abgerufen wird oder in der
SCCS-Datei gespeichert ist (weitere Informationen finden Sie in der Beschreibung des Befehls get).
Wenn eine Zeichenfolge angegeben wird, müssen die Kennwörter mit der angegebenen Zeichenfolge exakt übereinstimmen.
Die Zeichenfolge muss ein Schlüsselwort und darf keine eingebetteten Zeilenvorschubzeichen enthalten.
|
| j | Lässt die gleichzeitige Ausführung mehrerer get-Befehle zur Bearbeitung derselben SID einer SCCS-Datei zu. Wenn Sie das Header-Flag j verwenden, sind mehrere gleichzeitige Aktualisierungen derselben Version der SCCS-Datei zulässig. |
| lListe | (Kleinbuchstabe L) Sperrt die mit der Variablen Liste angegebenen Releases für die Bearbeitung, sodass ein Befehl get -e für eines dieser Releases
fehlschlägt.
Die Liste hat die folgende Syntax: Das Zeichen a in der Liste ist gleichbedeutend mit der Angabe
aller Releases für die angegebene SCCS-Datei.
|
| m Modul | Ersetzt alle Vorkommen des Schlüsselworts 59 in einer mit dem Befehl get abgerufenen SCCS-Textdatei durch die Variable Modul. Die Standardvariable Modul ist der Name der SCCS-Datei ohne das Präfix s. Der Modulname kann MBCS-Zeichen (Multibyte Character Set, Mehrbytezeichensatz) enthalten. |
| n | Bewirkt, dass der Befehl delta ein Nulldelta in allen Releases erstellt, die übersprungen werden, wenn ein Delta in einem neuen Release erstellt wird. Wenn Sie beispielsweise ein Delta 5.1 nach Delta 2.7 erstellen, sind die Releases 3 und 4 null. Die Releases 3 und 4 werden als Nulldeltaeinträge in der Deltatabelle der s.-Datei erstellt. Die erstellten Nulldeltas können als Ausgangspunkte für die Erstellung von Zweigdeltas dienen. Wenn Sie dieses Flag nicht angeben, erscheinen übersprungene Releases nicht in der SCCS-Datei. |
| q Text | Ersetzt alle Vorkommen des Schlüsselworts in einer mit dem Befehl get abgerufenen SCCS-Textdatei durch den angegebenen Text. |
| t Typ | Ersetzt alle Schlüsselwörter in einer mit einem get-Befehl abgerufenen g-Datei durch den angegebenen Typ. |
| v [Programm] | Verwendet die Eingabeaufforderung für Änderungsanforderungsnummern des Befehls delta als Grund für die Erstellung eines Deltas. Die Variable Programm gibt den Namen eines Programms für die Überprüfung der Gültigkeit von Änderungsanforderungsnummern an. Wenn das Flag v in der SCCS-Datei gesetzt wird, muss auch das Flag -m verwendet werden, selbst wenn dessen Wert null ist. Der Programmname kann MBCS-Zeichen (Multibyte Character Set, Mehrbytezeichensatz) enthalten. |
Beschädigte SCCS-Dateien suchen
Obwohl SCCS einen gewissen Schutz vor Fehlern bietet, kann es manchmal erforderlich sein, eine versehentlich beschädigte Datei wiederherzustellen. Diese Beschädigung kann auf eine Systemstörung, einen Bedienerfehler oder die Änderung einer SCCS-Datei mit anderen Methoden als SCCS-Befehlen zurückzuführen sein.
SCCS-Befehle verwenden die Kontrollsumme, um festzustellen, ob eine Datei seit der letzten Verwendung geändert wurde. Der einzige SCCS-Befehl, der eine beschädigte Datei verarbeitet, ist der Befehl admin in Kombination mit dem Flag -h oder -z. Das Flag -h weist den Befehl admin an, die im Header der SCCS-Datei gespeicherte Kontrollsumme mit der berechneten Kontrollsumme zu vergleichen. Das Flag -z weist den Befehl an, die Kontrollsumme neu zu berechnen und im Dateiheader zu speichern.
Exitstatus
Dieser Befehl gibt die folgenden Exitwerte zurück:
| Element | Beschreibung |
|---|---|
| 0 | Erfolgreiche Ausführung. |
| >0 | Es ist ein Fehler aufgetreten. |
Beispiele
In den folgenden Beispielen werden eine fiktive Textdatei mit dem Namen test.c und ein Editor wie ed zum Bearbeiten der Dateien verwendet.
- Erstellen Sie zunächst eine normale
SCCS-Datei. Geben Sie den folgenden Befehl ein, um eine leere SCCS-Datei mit dem Namen s.test.c zu erstellen:
Bei der Verwendung des Befehls admin mit dem Flag -n wird eine leere SCCS-Datei erstellt.$ admin -n s.test.c - Geben Sie den folgenden Befehl ein, um eine vorhandene Textdatei
in eine SCCS-Datei zu konvertieren:
Wenn Sie das Flag -i verwenden, erstellt der Befehl admin Delta 1.1 aus der angegebenen Datei. Benennen Sie nach der Erstellung von Delta 1.1 die ursprüngliche Textdatei so, dass sie die SCCS-Befehle nicht beeinträchtigt:$ admin -itest.c s.test.c There are no SCCS identification keywords in the file (cm7) $ ls s.test.c test.c
Die Nachricht There are no SCCS identification keywords in the file (cm7) weist nicht auf einen Fehler hin. SCCS schreibt diese Nachricht, wenn in der Datei keine ID-Kennwörter enthalten sind. ID-Kennwörter sind Variablen, die in eine SCCS-Datei eingefügt werden können. Die Werte dieser Variablen enthalten Informationen wie Datum, Uhrzeit, SID oder Dateinamen. Eine Erläuterung der ID-Kennwörter finden Sie in der Beschreibung des Befehls get. Wenn keine ID-Kennwörter vorhanden sind, schreibt SCCS die Nachricht. Sollte jedoch das Header-Flag i in der s.-Datei gesetzt sein, führt diese Nachricht zu einer Fehlerbedingung. Dieses Flag wird vom Benutzer gesetzt.$ mv test.c back.cWeisen Sie der SCCS-Datei einen beliebigen Namen zu, der mit s. beginnt. Im vorherigen Beispiel haben die ursprüngliche Datei und die SCCS-Datei denselben Namen, aber dies ist nicht erforderlich.
Weil Sie keine Releasenummer angegeben haben, hat der Befehl admin der SCCS-Datei die SID 1.1 zugewiesen. SCCS verwendet für die Identifizierung von Deltas nicht die Nummer 0. Deshalb kann eine Datei beispielsweise nicht die SID 1.0 oder 2.1.1.0 haben. Alle neuen Release beginnen mit Version 1.
- Zum Starten der Datei test.c mit der Releasenummer 3.1 verwenden Sie, wie im Folgenden gezeigt, das Flag -r mit dem Befehl admin und geben Sie Folgendes ein:
Um die Berechtigung zum Ändern von SCCS-Dateien auf eine bestimmte Gruppe von Benutzer-IDs zu beschränken, listen Sie Benutzer-IDs oder Gruppen-ID-Nummern in der Benutzerliste der SCCS-Datei mit dem Flag -a des Befehls admin auf. Dieses Flag kann mehrfach in der Befehlszeile angegeben werden. Diese IDs erscheinen dann im Header der SCCS-Datei. Wenn das Flag -a zum Beschränken des Zugriffs nicht angegeben wird, können alle Benutzer-IDs die SCCS-Dateien ändern.$ admin -itest.c -r3 s.test.c - Geben Sie den folgenden Befehl ein, um die Bearbeitungsberechtigung auf die Benutzer-ID
dan zu beschränken:
$ admin -adan s.test.c - Überprüfen Sie die SCCS-Datei in regelmäßigen Abständen auf potenzielle Beschädigungen.
Die einfachste Methode ist die folgende Ausführung des Befehls admin mit dem Flag -h für alle SCCS-Dateien oder
SCCS-Verzeichnisse:
Wenn der Befehl admin eine Datei findet, deren berechnete Kontrollsumme nicht mit der im Header der SCCS-Datei aufgelisteten Kontrollsumme übereinstimmt, wird die folgende Nachricht angezeigt:$ admin -h s.Datei1 s.Datei2 ... $ admin -h Verzeichnis1 Verzeichnis2 ...
Wenn eine Datei beschädigt wurde, versuchen Sie, die Datei erneut zu bearbeiten oder eine Sicherungskopie einzulesen. Führen Sie nach der Korrektur der Datei den Befehl admin mit dem Flag -z und dem korrigierten Dateinamen aus:ERROR [s. Dateiname]: 1255-057 The file is damaged. (co6)
Diese Operation ersetzt die alte Kontrollsumme im Header der SCCS-Datei durch die neue Kontrollsumme, die auf dem aktuellen Dateiinhalt basiert. Andere SCCS-Befehle können die Datei jetzt verarbeiten.$ admin -z s.Datei1
Dateien
| Element | Beschreibung |
|---|---|
| /usr/bin/admin | Enthält den SCCS-Befehl admin. |