Format de fichier sccsfile
Objectif
Décrit le format d'un fichier SCCS (Source Code Control System).
Descriptif
Le fichier SCCS est un fichier ASCII composé des parties logiques suivantes:
| Article | Descriptif |
|---|---|
| Total de contrôle | Somme logique de tous les caractères à l'exception des caractères de la première ligne |
| Table delta | Informations sur chaque delta, y compris le type, le numéro d'identification SCCS (SID), la date et l'heure de création, et commentaires sur le delta |
| Noms d'utilisateur | Noms de connexion, noms de groupe ou ID de groupe numérique des utilisateurs autorisés à ajouter ou à supprimer des deltas dans le fichier SCCS |
| Indicateurs d'en-tête | Indicateurs définissant le mode de fonctionnement de certaines commandes SCCS avec le fichier SCCS ou définissant des valeurs pour les mots clés d'identification dans le fichier |
| Commentaires | Description du fichier |
| Corps | Les lignes de texte réelles sont entremêlées avec les lignes de contrôle |
Total de contrôle
Le total de contrôle est la première ligne d'un fichier SCCS. Cette ligne a le format suivant:
@hNuméro
Le caractère de contrôle et les variables de la ligne de total de contrôle ont les significations suivantes:
| Article | Descriptif |
|---|---|
| @h | Désigne un nombre magique de 064001 octal (ou 0x6801). |
| Nombre | Représente la somme logique de tous les caractères du fichier SCCS (à l'exclusion des caractères de cette ligne). Il est recalculé chaque fois que le fichier SCCS est mis à jour avec les commandes SCCS, et est utilisé pour détecter les modifications potentiellement dommageables apportées à un fichier SCCS par des commandes non-SCCS. |
Table delta
Chaque fois qu'un groupe de modifications, appelé delta, est apporté à un fichier SCCS, la table delta crée une nouvelle entrée. Chaque entrée contient des informations descriptives sur le delta. Le caractère @s (signe at, lettre s) définit le début d'une entrée de table delta et le caractère @e (signe at, lettre e) définit la fin de l'entrée. Pour chaque delta créé, il existe une entrée de table delta au format suivant:
@s NumberLinesInserted/NumberLinesDeleted/NumberLinesUnchanged
@d DeltaType SIDDate Time UserID Number PreNumber
@i NumbersIncluded . . .
@x NumbersExcluded . . .
@g NumbersIgnored . . .
@m ModificationRequestNumber
@c Comments . . .Les caractères de contrôle et les variables des entrées de la table delta ont les significations suivantes:
| Article | Descriptif |
|---|---|
| @s | Désigne la première ligne de chaque entrée, qui contient le nombre de lignes insérées, supprimées et non modifiées par rapport au delta précédent. |
| @d | Désigne la deuxième ligne de chaque entrée, qui contient les variables suivantes:
|
| @i | Indique les numéros de série des deltas inclus dans la création de ce delta à l'aide de la commande get avec l'indicateur -i . Cette ligne peut contenir plusieurs nombres delta et est facultative. |
| @x | Indique les numéros de série des deltas qui ont été exclus de la création de ce delta à l'aide de la commande get avec l'indicateur -x . Cette ligne peut contenir plusieurs nombres delta et est facultative. |
| @g | Indique les numéros de série des deltas qui ont été ignorés lors de la création de ce delta à l'aide de la commande delta avec l'indicateur -g . Cette ligne peut contenir plusieurs nombres delta et est facultative. |
| @m | Indique un numéro de demande de modification (MR) associé au delta. Il peut y avoir plusieurs lignes MR dans un fichier SCCS, chacune contenant un numéro MR différent. Ces lignes sont facultatives. |
| @c | Mettez en commentaire les lignes associées au delta. Il peut y avoir plusieurs lignes de commentaire dans un fichier SCCS. Ces lignes sont facultatives. |
| @e | Termine l'entrée de la table delta. |
Noms d'utilisateur
Cette section du fichier contient la liste des noms de connexion, des noms de groupe ou des ID de groupe numériques des utilisateurs qui peuvent ajouter des deltas au fichier. Les noms et les ID sont séparés par des caractères de nouvelle ligne. Cette section utilise les caractères de contrôle suivants:
| Article | Descriptif |
|---|---|
| @u | Ligne entre parenthèses indiquant le début d'une liste de noms d'utilisateur. Cette ligne apparaît avant la première ligne de la liste. |
| @U | Ligne entre parenthèses indiquant la fin d'une liste de noms d'utilisateur. Cette ligne apparaît après la dernière ligne de la liste. |
Une liste vide permet à n'importe quel utilisateur de créer un delta. La liste est modifiée à l'aide de la commande admin avec l'indicateur -a ou -e .
Indicateurs d'en-tête
Marque les commandes de contrôle et définit les mots clés utilisés en interne dans le SCCS. Les indicateurs d'en-tête sont définis à l'aide de la commande admin avec différents indicateurs. Le format de chaque ligne est le suivant:
@f Flag TextLe caractère de contrôle et les variables de la section des indicateurs d'en-tête ont les significations suivantes:
| Article | Descriptif |
|---|---|
| @fb | branche de transaction XA. Permet l'utilisation de l'indicateur -b de la commande get pour provoquer une branche dans l'arborescence delta. |
| @fc | Plafond. Définit le numéro d'édition le plus élevé, compris entre 0 et 9999, qui peut être extrait par une commande get pour édition. Ce numéro d'édition est appelé numéro d'édition de plafond. |
| @fd | ID SCCS par défaut. Définit le SID par défaut à utiliser lorsqu'il n'est pas spécifié avec une commande get . Lorsque cet indicateur n'est pas défini, la commande get utilise le delta créé le plus récemment. |
| @ff | Etage. Définit le numéro d'édition le plus bas, compris entre 0 et 9999, qui peut être extrait par une commande get à des fins d'édition. Ce numéro d'édition est appelé numéro d'édition de l'étage. |
| @fi | Mots clés d'ID. Contrôle laNo ID keywordsmessage d'avertissement d'erreur. Lorsque cet indicateur n'est pas défini, le message n'est qu'un avertissement. Lorsque cet indicateur est défini, l'absence de mots clés d'ID provoque une erreur et le delta échoue. |
| @fj | Edition conjointe. Permet à la commande get d'autoriser les éditions simultanées du même SID de base. |
| @fl | Verrouillages libérés. Définit une liste des éditions qui ne peuvent pas être éditées avec la commande get à l'aide de l'indicateur -e . |
| @fm | Nom du module. Définit le remplacement d'un nom de module pour le mot clé d'identification 11 . Cette valeur est utilisée pour remplacer la valeur par défaut. |
| @fn | Aucune modification. Permet à la commande delta d'insérer des deltas nuls (entrées delta sans modifications) pour toutes les éditions ignorées lorsqu'un delta est créé pour une nouvelle édition. Par exemple, le delta 5.1 est créé après le delta 2.1, en ignorant les éditions 3 et 4. Lorsque cet indicateur est omis, les éditions ignorées sont omises de la table delta. |
| @fq | Indicateur défini par l'utilisateur. Définit le remplacement du mot clé d'identification . |
| @ft | Type de programme. Définit le remplacement du mot clé d'identification . |
| @fv | Nom du programme. Contrôle les demandes de numéros de MR en plus des commentaires sur la création de delta. Si une valeur est affectée, elle définit un programme de contrôle de validité de numéro MR. |
Commentaires
Lorsque des commentaires sont extraits d'un fichier contenant du texte descriptif à l'aide de la commande admin avec l'option d'indicateur -t , le contenu de ce fichier est affiché dans la section des commentaires. Généralement, la section des commentaires contient une description de l'objectif de l'ensemble du fichier et utilise les caractères de contrôle suivants:
| Article | Descriptif |
|---|---|
| @t | Ligne de mise entre parenthèses indiquant le début de la section des commentaires. Cette ligne apparaît avant la première ligne de commentaire. |
| @T | Ligne entre parenthèses indiquant la fin de la section des commentaires. Cette ligne apparaît après la dernière ligne de commentaire. |
Corps
Le corps se compose de deux types de lignes: les lignes de contrôle et les lignes de texte. Lignes de contrôle encadrant les lignes de texte. Les lignes de texte contiennent des parties de texte qui ont été insérées ou supprimées pour une version particulière du fichier. Les lignes de contrôle qui encadrent une partie de texte indiquent si une partie de texte a été insérée ou supprimée et dans quelle version. Lorsqu'une version particulière d'un fichier est créée à partir du fichier SCCS, les lignes de contrôle identifient les éléments de texte qui doivent être ajoutés ou supprimés pour cette version du fichier.
Les lignes de contrôle peuvent être imbriquées les unes dans les autres, de sorte que la même partie du texte peut être encadrée par plusieurs ensembles de lignes de contrôle. Le corps d'un long fichier SCCS peut être très compliqué. Toutefois, les commandes SCCS permettent de mieux comprendre les différentes versions d'un fichier SCCS.
| Article | Descriptif |
|---|---|
| @INuméro | Indique une ligne de contrôle d'insertion. La variable Nombre indique le numéro de série qui correspond au delta de la ligne de contrôle. Du texte inséré entre cette ligne de contrôle et une ligne de contrôle de fin avec le même numéro de série a été inséré dans le delta correspondant au même numéro de série. |
| @DNuméro | Indique une ligne de contrôle de suppression. La variable Nombre indique que le numéro de série correspondant au delta de la ligne de contrôle est indiqué par la variable Nombre . Le texte supprimé entre cette ligne de contrôle et une ligne de contrôle de fin ayant le même numéro de série a été supprimé dans le cadre du delta correspondant au même numéro de série. |
| @ENuméro | Indique une ligne de contrôle de fin. Le numéro de série correspondant au delta de la ligne de contrôle est indiqué par la variable Nombre . Indique la fin d'une section de texte à insérer ou à supprimer. |
Le texte contient également des mots clés d'identification spécifiques au système de fichiers SCCS. Ces mots clés représentent des informations d'identification sur le fichier SCCS. Lorsque vous utilisez la commande get sans l'indicateur -e ou -k , ces mots clés sont remplacés par leurs valeurs. Etant donné que les différentes versions ont des informations d'identification différentes, les mots clés d'identification permettent au système de fichiers SCCS de fournir facilement les informations d'identification correctes pour toute version du fichier demandée par la commande get . Les mots clés peuvent être utilisés pour fournir plusieurs types d'informations:
- Informations d'identification de la version:
Mot clé Valeur %M% Nom du module ; valeur de l'indicateur d'en-tête m dans le fichier SCCS %I% SID (1, 1, 0, 0 ) %R% Préparer %L% Niveau %B% Branche %S% Séquence - Informations sur l'heure et la date:
Mot clé Valeur 10/11/24 Date de la commande get en cours (AA/MM/JJ) 24/10/11 Date de la commande get en cours (MM/JJ/AA) 01:02:56 Heure de la commande get en cours (HH:MM: SS) 11/05/10 Date de création du delta appliqué le plus récent (AA/MM/JJ) 10/5/11 Date de création du delta appliqué le plus récent (MM/JJ/AA) 06:12:56 Heure de création du delta application la plus récente (HH:MM: SS) - Informations sur le nom:
Mot clé Valeur /family/aix/vc/8/9/7/3/s.11 Nom de fichier SCCS /family/aix/vc/8/9/7/3/s.11 Chemin d'accès complet du fichier SCCS - Valeurs d'indicateur:
Mot clé Valeur -q Valeur de l'indicateur d'en-tête -q dans le fichier SCCS. -t Type de module ; valeur de l'indicateur d'en-tête -t dans le fichier SCCS. - Numéros de ligne:
Mot clé Valeur 562 Numéro de ligne en cours. Ce mot clé identifie la sortie du message par le programme. Il ne doit pas être utilisé sur chaque ligne pour fournir des numéros de séquence. - Construction des chaînes what :
Mot clé Valeur src/idd/en_US/files/aixfiles/sccsfile.ide, idaixfiles, idd71D Notation abrégée permettant de construire quelles chaînes pour les fichiers de programme spécifiques à d'autres systèmes d'exploitation. Sa valeur est égale aux lettres clés suivantes: src/idd/en_US/files/aixfiles/sccsfile.ide, idaixfiles, idd71D = @(#)11<tab>1.14@ (#) 11 1.14@ (#) Autre notation abrégée pour la construction de quelles chaînes pour les fichiers de programme spécifiques à ce système d'exploitation. Sa valeur est les caractères et les lettres clés: @(#) 11 1.14@(#) = @(#) 11 1.14 @(#)@(#) La chaîne de 4 caractères @ (#) (signe arobase, parenthèse gauche, signe dièse, parenthèse droite) reconnue par la commande what .