Commande d'administration (SCCS)

Objectif

Crée et contrôle les fichiers SCCS (Source Code Control System).

Syntaxe

Pour créer de nouveaux fichiers SCCS
admin { -n  -i[FileName ] } [ -a { User | GroupID } ] ... [ -f HeaderFlag[Value ] ... ] [ -r SID ] [ -t FileName ] [ -m ModificationRequestList ] [ -y[Comment ] ] File ...
Remarque: Ne placez pas d'espace entre un indicateur et une variable facultative (entre crochets).
Pour modifier des fichiers SCCS existants
admin [ -a { User | GroupID } ] ... [ -e { User | GroupID } ] ... [ { -d HeaderFlag | -f HeaderFlag[Value ] ... } ] [ -m ModificationRequestList ] [ -t[FileName ] ] [ -y[Comment ] ] File ...
Remarque: Ne placez pas d'espace entre un indicateur et une variable facultative (entre crochets).
Pour vérifier les fichiers SCCS endommagés
admin -h  File ... 
Pour corriger les fichiers SCCS endommagés
admin -z  File ... 

Descriptif

La commande 'admin crée de nouveaux fichiers SCCS (Source Code Control System) ou modifie les paramètres spécifiés dans les fichiers SCCS existants.

La commande " admin peut modifier les paramètres contrôlant la manière dont la commande " get construit les fichiers que vous pouvez éditer. Les paramètres peuvent également définir des conditions concernant les personnes autorisées à accéder au fichier et les versions du fichier qui peuvent être modifiées.

Si le fichier spécifié par le paramètre Fichier existe, la commande admin modifie le fichier comme indiqué par les indicateurs. Si le fichier n'existe pas et que vous fournissez l'indicateur '-i ou '-n, la commande 'admin crée un nouveau fichier et fournit des valeurs par défaut pour les indicateurs non spécifiés.

Si vous spécifiez un nom de répertoire pour le paramètre Fichier , la commande admin effectue les actions demandées sur tous les fichiers SCCS de ce répertoire. Tous les fichiers du SCCS contiennent le préfixe " s. avant le nom du fichier. Si vous utilisez un " - (signe moins) pour le paramètre File, la commande " admin lit l'entrée standard et interprète chaque ligne comme le nom d'un fichier SCCS. Un caractère de fin de fichier termine l'entrée.

Vous devez disposer des droits d'accès en écriture dans le répertoire pour créer un fichier. Tous les noms de fichiers du SCCS doivent avoir la forme " s.Nom. Les nouveaux fichiers SCCS sont créés avec des droits en lecture seule. La commande " admin écrit dans un fichier x temporaire, qu'elle appelle " x.Nom. S'il existe, le fichier x a les mêmes autorisations que le fichier SCCS d'origine. Le fichier x est en lecture seule si la commande 'admin doit créer un nouveau fichier. Lorsque la commande " admin a été exécutée avec succès, le fichier x est déplacé vers le nom du fichier SCCS. Cela garantit que les modifications ne sont apportées au fichier SCCS que si la commande " admin ne détecte aucune erreur lors de son exécution.

Les répertoires contenant les fichiers SCCS doivent être créés avec le code d'autorisation 755 (autorisations de lecture, d'écriture et d'exécution pour le propriétaire, autorisations de lecture et d'exécution pour les membres du groupe et autres). Les fichiers SCCS eux-mêmes doivent être créés en tant que fichiers en lecture seule (444). Avec ces droits, seul le propriétaire peut utiliser des commandes non-SCCS pour modifier les fichiers SCCS. Si un groupe peut accéder aux fichiers SCCS et les modifier, les répertoires doivent inclure des droits d'accès en écriture de groupe.

La commande " admin utilise également un fichier de verrouillage temporaire (appelénom" z.) pour empêcher les mises à jour simultanées du fichier SCCS par différents utilisateurs.

Vous pouvez entrer des indicateurs et des noms de fichier d'entrée dans n'importe quel ordre. Tous les indicateurs s'appliquent à tous les fichiers. Ne mettez pas d'espace entre un drapeau et une variable optionnelle (variable entre crochets). Les drapeaux d'en-tête peuvent être activés avec le drapeau " -f et désactivés avec le drapeau " -d. Les drapeaux d'en-tête contrôlent le format du fichier g qui est créé avec la commande 'get.

Indicateurs

Tableau 1. Indicateurs
Article Descriptif
-a Utilisateur ou -a GroupID Ajoute l'utilisateur spécifié à la liste des utilisateurs pouvant effectuer des ensembles de modifications (deltas) dans le fichier SCCS. La valeur Utilisateur peut être un nom d'utilisateur ou un identifiant de groupe. La spécification d'un ID groupe est identique à la spécification des noms de tous les utilisateurs de ce groupe. Vous pouvez spécifier plusieurs indicateurs -a sur une seule ligne de commande admin . Si un fichier SCCS contient une liste d'utilisateurs vide, n'importe qui peut ajouter des deltas. Si un fichier possède une liste d'utilisateurs, le créateur du fichier doit être inclus dans la liste pour que le créateur puisse effectuer des deltas dans le fichier. Si le paramètre User ou GroupID est précédé d'un ! (point d'exclamation), les utilisateurs spécifiés se voient refuser l'autorisation d'effectuer des deltas. Par exemple, saisissez " -a !User.
-d HeaderFlag Désactive les effets de l'indicateur d'en-tête spécifié dans le fichier SCCS. Vous ne pouvez spécifier cet indicateur qu'avec les fichiers SCCS existants. Vous pouvez également spécifier plusieurs indicateurs -d dans une même commande admin . Reportez-vous à la liste des indicateurs d'en-tête qui suit pour en savoir plus sur les valeurs prises en charge.
-e Utilisateur ou -e GroupID Supprime l'utilisateur spécifié de la liste des utilisateurs autorisés à effectuer des deltas dans le fichier SCCS. La spécification d'un ID groupe équivaut à spécifier tous les noms Utilisateur communs à ce groupe. Vous pouvez spécifier plusieurs indicateurs -e sur une seule ligne de commande admin .
-f HeaderFlag[Valeur ] Active l'indicateur d'en-tête et la valeur spécifiés dans le fichier SCCS. Vous pouvez spécifier plusieurs indicateurs d'en-tête dans une même commande admin . Il y a 12 drapeaux d'en-tête. Reportez-vous à la liste des indicateurs d'en-tête qui suit pour en savoir plus sur les valeurs prises en charge. Ne placez pas d'espace entre les variables HeaderFlag et Value .
-h Vérifie la structure du fichier SCCS et compare une somme de contrôle nouvellement calculée avec la somme de contrôle qui est stockée dans la première ligne du fichier SCCS. Lorsque la valeur du total de contrôle n'est pas correcte, le fichier a été mal modifié ou endommagé. Cet indicateur vous aide à détecter les dommages causés par l'utilisation inappropriée de commandes non-SCCS pour modifier des fichiers SCCS, ainsi que les dommages accidentels. L'indicateur '-h empêche l'écriture dans le fichier et annule donc l'effet de tout autre indicateur fourni. Si un message d'erreur est renvoyé indiquant que le fichier est endommagé, utilisez l'indicateur '-z pour recalculer la somme de contrôle. Testez ensuite si le fichier est corrigé en utilisant à nouveau l'indicateur " -h
-i[FileName ] Obtient le texte d'un nouveau fichier SCCS à partir de la variable FileName . Ce texte est le premier delta du fichier. Si vous spécifiez l'indicateur -i mais omettez le nom de fichier, la commande admin lit le texte à partir de l'entrée standard jusqu'à ce qu'il atteigne un caractère de fin de fichier. Si vous ne spécifiez pas l'indicateur -i , mais que vous spécifiez l'indicateur -n , la commande crée un fichier SCCS vide. La commande admin ne peut créer qu'un seul fichier contenant du texte à la fois. Si vous créez deux fichiers SCCS ou plus en appelant la commande " admin, vous devez utiliser l'indicateur " -n, et les fichiers SCCS créés seront vides. Chaque ligne du fichier spécifié par la variable FileName ne peut contenir plus de 512 caractères. Le nom de fichier peut inclure des caractères MBCS (jeu de caractères multi-octets). Ne placez pas d'espace entre l'indicateur et la variable FileName .
-m ModificationRequestList Indique une liste de numéros de demande de modification (MR) à insérer dans le fichier SCCS comme motif de création du delta initial. Une liste vide ou nulle peut être considérée comme valide, selon le programme de validation utilisé. L'indicateur d'en-tête " v doit être activé. Les numéros MR sont validés si l'indicateur d'en-tête " v a une valeur (le nom d'un programme de validation des numéros MR). La commande " admin signale une erreur si l'indicateur d'en-tête " v n'est pas activé ou si la validation MR échoue.
-n Crée un nouveau fichier SCCS vide. Lorsque l'indicateur " -n est utilisé sans l'indicateur " -i, le fichier SCCS est créé avec des informations de contrôle mais sans aucune donnée de fichier.
-r SID Indique la version du fichier d'identification SCCS (SID) à créer. La variable SID accepte un delta avec quatre niveaux: édition, niveau, branche et séquence, par exemple 3.2.5.1. Si seule l'édition est spécifiée, la commande admin prend automatiquement le niveau 1. Si vous ne spécifiez pas l'indicateur -r , le delta initial devient l'édition 1, niveau 1 (c'est-à-dire 1.1). Pour plus de détails sur la spécification du SID, reportez-vous au tableau de détermination du SID décrit dans la commande " get.

Vous ne pouvez spécifier l'indicateur " -r que si vous spécifiez également l'indicateur " -i ou " -n. Utilisez cet indicateur uniquement lors de la création d'un fichier SCCS.

-t [FileName] Prend le texte descriptif du fichier SCCS dans le fichier spécifié par la variable FileName. Si vous utilisez l'indicateur " -t lors de la création d'un nouveau fichier SCCS, vous devez fournir un nom de fichier. Dans le cas des fichiers SCCS existants:
  • Sans nom de fichier, l'indicateur " -t supprime tout texte descriptif figurant dans le fichier SCCS.
  • Avec un nom de fichier, l'indicateur " -t remplace tout texte descriptif présent dans le fichier SCCS par le texte du fichier nommé.
  • Le nom de fichier peut inclure des caractères MBCS (jeu de caractères multi-octets).

Ne placez pas d'espace entre l'indicateur et la variable FileName .

-y [Commentaire] Insère le commentaire spécifié dans le delta initial d'une manière identique à celle de la commande " delta. Utilisez cet indicateur uniquement lorsque vous créez un fichier SCCS. Si vous ne spécifiez pas de commentaire, la commande 'admin insère une ligne de la forme suivante :
date and time created YY/MM/DD HH:MM:SS by Login

Les commentaires peuvent inclure des caractères MBCS (jeu de caractères multi-octets). Ne placez pas d'espace entre l'indicateur et la variable FileName .

-z Recalcule la somme de contrôle du fichier SCCS et la stocke dans la première ligne du fichier SCCS (voir l'indicateur '-h ).
Attention : L'utilisation de la commande 'admin avec l'indicateur '-z sur un fichier endommagé peut empêcher la détection future du dommage. Cet indicateur ne doit être utilisé que si le fichier SCCS est modifié à l'aide de commandes non SCCS en raison d'une erreur grave.
Fichier Indique le nom du fichier créé ou modifié par la commande " admin. Si un " - (signe moins) est spécifié, la commande " admin lit à partir de l'entrée standard. Un caractère de fin de fichier termine l'entrée standard.
Drapeaux d'en-tête

La liste suivante contient les drapeaux d'en-tête qui peuvent être activés avec le drapeau " -f et désactivés avec le drapeau " -d. Les drapeaux d'en-tête contrôlent le format du fichier g qui est créé avec la commande 'get.

Tableau 2. Drapeaux d'en-tête
Article Descriptif
b Utiliser l'indicateur " -b d'une commande " get pour créer des deltas de branche.
c Nombre Rend la variable Nombre le numéro de version le plus élevé qu'une commande " get -e peut utiliser. La valeur de la variable Numéro doit être supérieure à 0 et inférieure ou égale à 9999. (La valeur par défaut est 9999.)
d SID Fait de la variable SID le delta par défaut qui est fourni à une commande " get.
f Nombre Rend la variable Numéro le numéro de version le plus bas qu'une commande " get -e peut récupérer. La variable Numéro doit être supérieure à 0 et inférieure à 9999. (La valeur par défaut est 1.)
i [Chaîne] Traite le message d'information suivant, émis par la commande " get ou " delta, comme une erreur :
There are no SCCS identification keywords in the file. (cm7)
En l'absence de cet indicateur, le message n'est qu'un avertissement. Ce message est émis si aucun mot-clé d'identification du CSSC n'est trouvé dans le texte extrait ou stocké dans le fichier du CSSC (voir la commande " get ). Si une chaîne est fournie, les mots clés doivent correspondre exactement à la chaîne indiquée. La chaîne doit contenir un mot clé et aucune nouvelle ligne intégrée.
j Autorise les commandes " get simultanées pour l'édition du même SID d'un fichier SCCS. L'utilisation de l'indicateur d'en-tête " j permet d'effectuer plusieurs mises à jour simultanées de la même version du fichier SCCS.
listel (L minuscule) Verrouille les versions spécifiées par la variable List contre toute modification, de sorte qu'une commande " get -e contre l'une de ces versions échoue. La syntaxe de la liste est la suivante:
<List> : : = <Range> | <List> , <Range>
<Range> : : = SID | a
Le caractère " a dans la liste équivaut à spécifier toutes les versions pour le fichier SCCS nommé.
modulem Remplace la variable Module par toutes les occurrences du mot-clé " 59 dans un fichier texte du SCCS récupéré par une commande " get La variable Module par défaut est le nom du fichier SCCS sans le préfixe " s. Le nom du module peut inclure des caractères MBCS (jeu de caractères multi-octets).
n La commande " delta crée un delta nul dans toutes les versions qui sont ignorées lorsqu'un delta est créé dans une nouvelle version. Par exemple, si vous définissez delta 5.1 après delta 2.7, les éditions 3 et 4 seront nulles. Les versions 3 et 4 seront créées en tant qu'entrées delta nulles dans la table delta du fichier " s. ". Les deltas nuls qui en résultent peuvent servir de points à partir desquels générer des deltas de branche. Sans cette option, les éditions ignorées n'apparaissent pas dans le fichier SCCS.
q Texte Remplace le texte spécifié par toutes les occurrences du mot-clé " dans un fichier texte SCCS récupéré par une commande " get
t Type Remplace le type spécifié par tous les mots-clés " dans un fichier g récupéré par une commande " get
v [Programme] Fait en sorte que la commande " delta demande les numéros de demande de modification (MR) comme raison de la création d'un delta. La variable Program spécifie le nom d'un programme de contrôle de validité des numéros MR. Si l'indicateur " v est défini dans le fichier SCCS, l'indicateur " -m doit également être utilisé, même si sa valeur est nulle. Le nom du programme peut inclure des caractères MBCS (jeu de caractères multi-octets).
Localisation des fichiers SCCS endommagés

Bien que SCCS fournisse une certaine protection contre les erreurs, vous devrez peut-être récupérer un fichier endommagé accidentellement. Ces dommages peuvent résulter d'un dysfonctionnement du système, d'une erreur de l'opérateur ou de la modification d'un fichier SCCS sans utiliser les commandes SCCS

Les commandes SCCS utilisent la somme de contrôle pour déterminer si un fichier a été modifié depuis sa dernière utilisation. La seule commande du SCCS qui traite un fichier endommagé est la commande " admin lorsqu'elle est utilisée avec les drapeaux " -h ou " -z L'indicateur -h indique à la commande admin de comparer le total de contrôle stocké dans l'en-tête du fichier SCCS au total de contrôle calculé. L'option '-z indique à la commande de recalculer la somme de contrôle et de la stocker dans l'en-tête du fichier.

Statut de sortie

Cette commande renvoie les valeurs de sortie suivantes :

Tableau 3. état de sortie
Article Descriptif
0 % L'opération a abouti.
>0 Une erreur s'est produite.

Exemples

Ces exemples utilisent un fichier texte imaginaire appelétest.cet un éditeur tel que " ed pour éditer les fichiers.

  1. Créez d'abord un fichier SCCS ordinaire. Pour créer un fichier SCCS vide nommé " s.test.c, entrez :
    $ admin -n s.test.c
    L'utilisation de la commande " admin avec l'indicateur " -n crée un fichier SCCS vide.
  2. Pour convertir un fichier texte existant en fichier SCCS, entrez :
    $ admin -itest.c s.test.c
    There are no SCCS identification keywords in the file (cm7)
    $ ls
    s.test.c test.c
    si vous utilisez l'option '-i, la commande 'admin crée le delta 1.1 à partir du fichier spécifié. Une fois le delta 1.1 créé, renommez le fichier texte d'origine de sorte qu'il n'interfère pas avec les commandes SCCS:
    $ mv test.c back.c
    Le message 'There are no SCCS identification keywords in the file (cm7) n'indique pas d'erreur. SCCS écrit ce message lorsqu'il n'y a pas de mots clés d'identification dans le fichier. Les mots clés d'identification sont des variables qui peuvent être placées dans un fichier SCCS. Les valeurs de ces variables fournissent des informations telles que la date, l'heure, le SID ou le nom de fichier. Voir la commande 'get pour une explication des mots-clés d'identification. Si aucun mot clé d'identification n'existe, SCCS écrit le message. Toutefois, si l'indicateur d'en-tête " i est défini dans le fichier " s., ce message provoque une condition d'erreur. Cet indicateur est défini par l'utilisateur.

    Donnez au fichier SCCS un nom quelconque, commençant par " s.. Dans l'exemple précédent, le fichier d'origine et le fichier SCCS portent le même nom, mais cela n'est pas nécessaire.

    Comme vous n'avez pas indiqué de numéro d'édition, la commande admin a attribué au fichier SCCS un SID de 1.1. SCCS n'utilise pas le nombre 0 pour identifier les deltas. Par conséquent, un fichier ne peut pas avoir un SID 1.0 ou 2.1.1.0, par exemple. Toutes les nouvelles versions commencent par le niveau 1.

  3. Pour démarrer letest.cavec un numéro de version 3.1, utilisez l'indicateur '-r avec la commande 'admin, comme indiqué ci-dessous, et entrez :
    $ admin -itest.c -r3 s.test.c
    Pour limiter l'autorisation de modifier les fichiers SCCS à un ensemble spécifique d'ID d'utilisateurs, indiquez les ID d'utilisateurs ou les numéros d'ID de groupes dans la liste d'utilisateurs du fichier SCCS en utilisant l'indicateur " -a de la commande " admin. Cet indicateur peut apparaître plusieurs fois sur la ligne de commande. Ces ID apparaissent alors dans l'en-tête du fichier SCCS. Sans l'indicateur '-a pour restreindre l'accès, tous les ID utilisateurs peuvent modifier les fichiers SCCS.
  4. Pour restreindre l'autorisation de modification à l'ID utilisateur " dan, entrez :
    $ admin -adan s.test.c
  5. Vérifier régulièrement si les fichiers du SCCS sont endommagés. La méthode la plus simple consiste à exécuter la commande " admin avec l'option " -h sur tous les fichiers ou répertoires du SCCS, comme suit :
    $ admin -h s.file1 s.file2 ...
    $ admin -h directory1 directory2 ...
    Si la commande " admin trouve un fichier dont la somme de contrôle calculée n'est pas égale à la somme de contrôle figurant dans l'en-tête du fichier SCCS, elle affiche ce message :
    ERROR [s. filename]:
    1255-057 The file is damaged. (co6)
    Si un fichier a été endommagé, essayez à nouveau de modifier le fichier ou de lire une copie de sauvegarde. Après avoir corrigé le fichier, exécutez la commande admin avec l'indicateur -z et le nom de fichier réparé:
    $ admin -z s.file1
    Cette opération remplace l'ancienne somme de contrôle dans l'en-tête du fichier SCCS par une nouvelle somme de contrôle basée sur le contenu du fichier en cours. D'autres commandes SCCS peuvent maintenant traiter le fichier.

Fichiers

Tableau 4. fichiers
Article Descriptif
/usr/bin/admin Contient la commande SCCS admin .