Dateiformat sccsfile

Zweck

Beschreibt das Format einer SCCS-Datei (Source Code Control System).

Beschreibung

Die SCCS-Datei ist eine ASCII-Datei, die aus den folgenden logischen Teilen besteht:

Element Beschreibung
Kontrollsumme Die logische Summe aller Zeichen außer den Zeichen in der ersten Zeile.
Deltatabelle Informationen zu jedem Delta einschließlich Typ, SID-Nummer (SCCS Identification), Erstellungsdatum und -zeit sowie Kommentare zum Delta
Benutzernamen Anmeldenamen, Gruppennamen oder numerische Gruppen-IDs von Benutzern, die Deltas zur SCCS-Datei hinzufügen oder daraus entfernen dürfen
Header-Flags Flags, die definieren, wie einige SCCS-Befehle mit der SCCS-Datei arbeiten, oder Werte für Identifikationsschlüsselwörter in der Datei definieren.
Kommentare Beschreibende Informationen zur Datei
Hauptteil Die tatsächlichen Textzeilen, die mit Steuerzeilen gemischt sind
Hinweis: Mehrere Zeilen in einer SCCS-Datei beginnen mit dem ASCII-Zeichen SOH (Anfang der Überschrift) (oktal 001). Dieses Zeichen wird als Steuerzeichen bezeichnet und im folgenden Text grafisch als @ (kommerzielles A) dargestellt. Jede im folgenden Text beschriebene Zeile, die nicht mit dem Steuerzeichen beginnt, enthält Text aus der Quellendatei. Textzeilen dürfen nicht mit dem Steuerzeichen beginnen.

Kontrollsumme

Die Kontrollsumme ist die erste Zeile einer SCCS-Datei. Diese Zeile hat das folgende Format:

@hZahl

Das Steuerzeichen und die Variablen in der Kontrollsummenzeile haben folgende Bedeutung:

Element Beschreibung
@h Gibt den Dateitypanzeiger 064001 (oder 0x6801) an.
Nummer Stellt die logische Summe aller Zeichen in der SCCS-Datei dar (ohne die Zeichen in dieser Zeile). Sie wird jedes Mal neu berechnet, wenn die SCCS-Datei mit SCCS-Befehlen aktualisiert wird, und verwendet, um möglicherweise schädliche Änderungen zu erkennen, die an einer SCCS-Datei durch Nicht-SCCS-Befehle vorgenommen wurden.

Deltatabelle

Jedes Mal, wenn eine Gruppe von Änderungen, die als Delta bezeichnet wird, an einer SCCS-Datei vorgenommen wird, erstellt die Deltatabelle einen neuen Eintrag. Jeder Eintrag enthält beschreibende Informationen zum Delta. Das Zeichen @s (kommerzielles A, Buchstabe s) definiert den Beginn eines Deltatabelleneintrags und das Zeichen @e (kommerzielles A, Buchstabe e) definiert das Ende des Eintrags. Für jedes erstellte Delta gibt es einen Deltatabelleneintrag im folgenden Format:

@s NumberLinesInserted/NumberLinesDeleted/NumberLinesUnchanged
@d DeltaType SIDDate Time UserID Number PreNumber
@i NumbersIncluded . . .
@x NumbersExcluded . . .
@g NumbersIgnored . . .
@m ModificationRequestNumber
@c Comments . . .

Die Steuerzeichen und Variablen in den Deltatabelleneinträgen haben die folgende Bedeutung:

Element Beschreibung
@s Gibt die erste Zeile jedes Eintrags an, die die Anzahl der eingefügten, gelöschten und unveränderten Zeilen aus dem vorherigen Delta enthält.
@d Gibt die zweite Zeile jedes Eintrags an, die die folgenden Variablen enthält:
DeltaType
Typ des Deltas. Der Buchstabe d bezeichnet ein normales Delta; der Buchstabe r bezeichnet ein Delta, das mit dem Befehl rmdel entfernt wurde.
SID
SCCS-ID (SID) des Deltas.
Datum
Datum im Format JJ/MM/TT, an dem das Delta erstellt wurde.
Zeit
Die Zeit im Format HH:MM: SS, zu der das Delta erstellt wurde.
UserID
Anmeldename, der der realen Benutzer-ID zum Zeitpunkt der Deltaerstellung entspricht.
Nummer
Seriennummern des Deltas.
PreNumber
Seriennummern des Vorgängers des Deltas.
@i Gibt die Seriennummern der Deltas an, die bei der Erstellung dieses Deltas mit Hilfe des Befehls get mit dem Flag -i eingeschlossen werden. Diese Zeile kann mehrere Deltanummern enthalten und ist optional.
@x Gibt die Seriennummern der Deltas an, die mit dem Befehl get mit dem Flag -x von der Erstellung dieses Deltas ausgeschlossen wurden. Diese Zeile kann mehrere Deltanummern enthalten und ist optional.
@g Gibt die Seriennummern der Deltas an, die bei der Erstellung dieses Deltas mithilfe des Befehls delta mit dem Flag -g ignoriert wurden. Diese Zeile kann mehrere Deltanummern enthalten und ist optional.
@m Gibt eine Änderungsanforderungsnummer an, die dem Delta zugeordnet ist. Eine SCCS-Datei kann mehrere MR-Zeilen enthalten, die jeweils eine andere MR-Nummer enthalten. Diese Zeilen sind optional.
@c Kommentarzeilen, die dem Delta zugeordnet sind Eine SCCS-Datei kann mehrere Kommentarzeilen enthalten. Diese Zeilen sind optional.
@e Beendet den Deltatabelleneintrag.

Benutzernamen

Dieser Abschnitt der Datei enthält die Liste der Anmeldenamen, Gruppennamen oder numerischen Gruppen-IDs von Benutzern, die Deltas zur Datei hinzufügen können. Die Namen und IDs werden durch Zeilenvorschubzeichen getrennt. In diesem Abschnitt werden die folgenden Steuerzeichen verwendet:

Element Beschreibung
@u Eine Zeile in Klammern, die den Anfang einer Benutzernamensliste angibt. Diese Zeile wird vor der ersten Zeile in der Liste angezeigt.
@U Eine Zeile in Klammern, die das Ende einer Benutzernamensliste angibt. Diese Zeile wird nach der letzten Zeile in der Liste angezeigt.

Eine leere Liste ermöglicht jedem Benutzer, ein Delta zu erstellen. Die Liste wird mit dem Befehl admin und dem Flag -a oder -e geändert.

Header-Flags

Markiert Steuerbefehle und definiert Schlüsselwörter, die intern im SCCS verwendet werden Header-Flags werden mit dem Befehl admin mit verschiedenen Flags festgelegt. Jede Zeile hat das folgende Format:

@f Flag Text

Das Steuerzeichen und die Variablen im Headermarkenabschnitt haben die folgende Bedeutung:

Element Beschreibung
@fb Branch (Zweig). Ermöglicht die Verwendung des Flags -b des Befehls get , um eine Verzweigung in der Deltabaumstruktur auszulösen.
@fc Obergrenze. Definiert die höchste Releasenummer von 0 bis 9999, die mit einem Befehl get zur Bearbeitung abgerufen werden kann. Diese Releasenummer wird als Obergrenze Releasenummerbezeichnet.
@fd Standard-SCCS-ID. Definiert die Standard-SID, die verwendet werden soll, wenn keine mit einem Befehl get angegeben wird. Wenn dieses Flag nicht gesetzt ist, verwendet der Befehl get das zuletzt erstellte Delta.
@ff Geschoss. Definiert die niedrigste Releasenummer von 0 bis 9999, die mit einem Befehl get zur Bearbeitung abgerufen werden kann. Diese Releasenummer wird als Releasenummer der Ebenebezeichnet.
@fi ID-Schlüsselwörter. Steuert dieNo ID keywordsFehlernachricht. Wenn dieses Flag nicht gesetzt ist, ist die Nachricht nur eine Warnung. Wenn dieses Flag gesetzt ist, verursacht das Fehlen von ID-Schlüsselwörtern einen Fehler und das Delta schlägt fehl.
@fj Verbindungsbearbeitung. Bewirkt, dass der Befehl get gleichzeitige Bearbeitungen derselben Basis-SID zulässt.
@fl Sperrenfreigaben. Definiert eine Liste von Releases, die nicht mit dem Befehl get mit dem Flag -e bearbeitet werden können
@fm Modulname. Definiert die Ersetzung eines Modulnamens für das Identifikationsschlüsselwort 11 . Dieser Wert wird verwendet, um den Standardwert zu überschreiben.
@fn Keine Änderungen. Bewirkt, dass der Befehl delta Nulldeltas (Deltaeinträge ohne Änderungen) für alle übersprungenen Releases einfügt, wenn ein Delta für ein neues Release erstellt wird. Beispiel: Delta 5.1 wird nach Delta 2.1erstellt und die Releases 3 und 4 werden übersprungen. Wenn dieses Flag weggelassen wird, werden übersprungene Releases aus der Deltatabelle ausgeschlossen.
@fq Benutzerdefinierte Markierung. Definiert die Ersetzung des Identifikationsschlüsselworts .
@ft Typ des Programms. Definiert die Ersetzung des Identifikationsschlüsselworts .
@fv Programmname. Steuert die Eingabeaufforderung für MA-Nummern zusätzlich zu Kommentaren zur Deltaerstellung. Wenn ein Wert zugeordnet wird, definiert er ein Gültigkeitsprüfprogramm für MR-Nummern.

Kommentar

Wenn Kommentare einer Datei mit beschreibendem Text entnommen werden, indem der Befehl admin mit der Option -t verwendet wird, wird der Inhalt dieser Datei im Kommentarabschnitt angezeigt. In der Regel enthält der Kommentarabschnitt eine Beschreibung des Zwecks der gesamten Datei und verwendet die folgenden Steuerzeichen:

Element Beschreibung
@t Eine eckige Klammer, die den Anfang des Kommentarabschnitts angibt. Diese Zeile wird vor der ersten Kommentarzeile angezeigt.
@T Eine Zeile in Klammern, die das Ende des Kommentarabschnitts angibt. Diese Zeile wird nach der letzten Kommentarzeile angezeigt.

Hauptteil

Der Hauptteil besteht aus zwei Arten von Zeilen: Steuerzeilen und Textzeilen. Steuerzeilen umklammern Textzeilen. Die Textzeilen enthalten Teile von Text, die für eine bestimmte Version der Datei eingefügt oder gelöscht wurden. Die Steuerzeilen, die einen Text in Klammern einklammern, geben an, ob und in welcher Version ein Text eingefügt oder gelöscht wurde. Wenn eine bestimmte Version einer Datei aus der SCCS-Datei erstellt wird, geben die Steuerzeilen die Textteile an, die für diese Version der Datei hinzugefügt bzw. gelöscht werden sollten.

Steuerzeilen können ineinander verschachtelt sein, sodass derselbe Teil des Textes von mehreren Gruppen von Steuerzeilen eingeschlossen werden kann. Der Hauptteil einer langen SCCS-Datei kann sehr kompliziert sein. Die SCCS-Befehle bieten jedoch eine bessere Möglichkeit, die verschiedenen Versionen einer SCCS-Datei zu verstehen.

Element Beschreibung
@IZahl Gibt eine Einfügungssteuerzeile an Die Variable Nummer gibt die Seriennummer an, die dem Delta für die Steuerleitung entspricht. Text, der zwischen dieser Steuerleitung und einer Endsteuerleitung mit derselben Seriennummer eingefügt wurde, wurde als Teil des Deltas eingefügt, das derselben Seriennummer entspricht.
@DZahl Zeigt eine Löschsteuerleitung an. Die Variable Zahl gibt die Seriennummer an, die dem Delta für die Steuerzeile entspricht, wird durch die Variable Zahl angegeben. Text, der zwischen dieser Steuerleitung und einer Endsteuerleitung mit derselben Seriennummer gelöscht wurde, wurde als Teil des Deltas gelöscht, das derselben Seriennummer entspricht.
@EZahl Gibt eine Endsteuerzeile an. Die Seriennummer, die dem Delta für die Steuerleitung entspricht, wird durch die Variable Zahl angegeben. Gibt das Ende eines Textabschnitts an, der eingefügt oder gelöscht wird.

Im Text sind auch Identifikationsschlüsselwörter enthalten, die für das SCCS-Dateisystem spezifisch sind. Diese Schlüsselwörter stellen Identifikationsinformationen zur SCCS-Datei dar. Wenn Sie den Befehl get ohne das Flag -e oder -k verwenden, werden diese Schlüsselwörter durch ihre Werte ersetzt. Da verschiedene Versionen unterschiedliche Identifikationsinformationen haben, bieten die Identifikationsschlüsselwörter eine einfache Möglichkeit für das SCCS-Dateisystem, die richtigen Identifikationsinformationen für jede Version der Datei bereitzustellen, die vom Befehl get angefordert wird. Schlüsselwörter können verwendet werden, um verschiedene Arten von Informationen bereitzustellen:

  • Versionsidentifikationsdaten:
    Schlüsselwort Wert
    %M% Modulname; der Wert des Header-Flags m in der SCCS-Datei
    %I% SID ( 1, 1, 0, 0 )
    %R% Freigeben
    %L% Grad
    %B% Filiale
    %S% Sequenz
  • Zeit-und Datumsinformationen:
    Schlüsselwort Wert
    10.11.24 Datum des aktuellen get -Befehls (JJ/MM/TT)
    24.10.11 Datum des aktuellen Befehls get (MM/TT/JJ)
    01:02:56 Zeit des aktuellen Befehls get (HH:MM: SS)
    05.11.10 Datum, an dem das neueste angewendete Delta erstellt wurde (JJ/MM/TT)
    10.05.2011 Datum, an dem das neueste angewendete Delta erstellt wurde (MM/TT/JJ)
    06:12:56 Zeitpunkt der Erstellung des neuesten angewendeten Deltas (HH:MM: SS)
  • Namensinformationen:
    Schlüsselwort Wert
    /family/aix/vc/8/9/7/3/s.11 SCCS-Dateiname
    /family/aix/vc/8/9/7/3/s.11 Vollständiger Pfadname der SCCS-Datei
  • Flagwerte:
    Schlüsselwort Wert
    -q Wert des Header-Flags -q in der SCCS-Datei.
    -t Modultyp; der Wert des Header-Flags -t in der SCCS-Datei.
  • Zeilennummern:
    Schlüsselwort Wert
    562 Die aktuelle Zeilennummer. Dieses Schlüsselwort gibt die Nachrichtenausgabe des Programms an. Sie sollte nicht in jeder Zeile verwendet werden, um Folgenummern bereitzustellen.
  • what -Zeichenfolgen erstellen:
    Schlüsselwort Wert
    src/idd/en_US/files/aixfiles/sccsfile.ide, idaixfiles, idd71D Eine Kurznotation zum Erstellen von what -Zeichenfolgen für Programmdateien, die für andere Betriebssysteme spezifisch sind. Sein Wert entspricht den folgenden Schlüsselbuchstaben:
    src/idd/en_US/files/aixfiles/sccsfile.ide, idaixfiles, idd71D = @(#)11<tab>1.14
    @ (#) 11 1.14@ (#) Eine weitere Kurznotation für die Erstellung von what -Zeichenfolgen für Programmdateien, die für dieses Betriebssystem spezifisch sind. Sein Wert besteht aus den Zeichen und Schlüsselbuchstaben:

    @(#) 11 1.14@(#) = @(#) 11 1.14 @(#)

    @(#) Die aus 4 Zeichen bestehende Zeichenfolge @ (#) (kommerzielles A, linke runde Klammer, Nummernzeichen, rechte runde Klammer), die vom Befehl what erkannt wird.