Mandato de administración (SCCS)
Finalidad
Crea y controla archivos SCCS (Código de código fuente).
Sintaxis
- Para crear nuevos archivos SCCS
admin { -n -i[FileName ] } [ -a { User | GroupID } ] ... [ -f HeaderFlag[Value ] ... ] [ -r SID ] [ -t FileName ] [ -m ModificationRequestList ] [ -y[Comment ] ] File ...Nota: No coloque un espacio entre un distintivo y una variable opcional (entre corchetes).- Para modificar archivos SCCS existentes
admin [ -a { User | GroupID } ] ... [ -e { User | GroupID } ] ... [ { -d HeaderFlag | -f HeaderFlag[Value ] ... } ] [ -m ModificationRequestList ] [ -t[FileName ] ] [ -y[Comment ] ] File ...Nota: No coloque un espacio entre un distintivo y una variable opcional (entre corchetes).- Para comprobar los archivos SCCS dañados
admin -h File ...- Para corregir archivos SCCS dañados
admin -z File ...
Descripción
El comando ' admin ' crea nuevos archivos del Sistema de Control de Código Fuente (SCCS) o cambia los parámetros especificados en los archivos SCCS existentes.
El comando ' admin ' puede cambiar los parámetros que controlan cómo el comando ' get ' construye los archivos que puedes editar. Los parámetros también pueden establecer condiciones sobre quién puede acceder al archivo y qué versiones de los archivos se pueden editar.
Si el archivo especificado por el parámetro Archivo existe, el mandato admin modifica el archivo tal como lo especifican los distintivos. Si el archivo no existe y se indica " -i " o " -n, el comando " admin " crea un nuevo archivo y proporciona valores por defecto para los indicadores no especificados.
Si especifica un nombre de directorio para el parámetro Archivo , el mandato admin realiza las acciones solicitadas en todos los archivos SCCS de ese directorio. Todos los archivos SCCS contienen el prefijo " s. " antes del nombre del archivo. Si utiliza ' - (signo menos) para el parámetro Archivo, el comando ' admin ' lee la entrada estándar e interpreta cada línea como el nombre de un archivo SCCS. Un carácter de fin de archivo finaliza la entrada.
Debe tener permiso de escritura en el directorio para crear un archivo. Todos los nombres de archivo SCCS deben tener la forma ' s.Nombre. Los nuevos archivos SCCS se crean con permiso de sólo lectura. El comando ' admin ' escribe en un archivo x temporal, al que llama ' x.Nombre. Si existe, el archivo x tiene los mismos permisos que el archivo SCCS original. El archivo x es de sólo lectura si el comando ' admin ' debe crear un nuevo archivo. Una vez completado con éxito el comando ' admin ', el archivo x se mueve al nombre del archivo SCCS. De este modo se garantiza que sólo se realicen cambios en el archivo SCCS si el comando ' admin ' no detecta ningún error durante su ejecución.
Los directorios que contienen archivos SCCS deben crearse con el código de permiso 755 (permisos de lectura, escritura y ejecución para el propietario, permisos de lectura y ejecución para los miembros del grupo y otros). Los propios archivos SCCS deben crearse como archivos de sólo lectura (444). Con estos permisos, sólo el propietario puede utilizar mandatos no SCCS para modificar archivos SCCS. Si un grupo puede acceder y modificar los archivos SCCS, los directorios deben incluir el permiso de escritura de grupo.
El comando ' admin ' también utiliza un archivo de bloqueo temporal (llamado ' z.Name) para evitar actualizaciones simultáneas del archivo SCCS por parte de distintos usuarios.
Puede especificar distintivos y nombres de archivo de entrada en cualquier orden. Todos los distintivos se aplican a todos los archivos. No ponga un espacio entre una bandera y una variable opcional (variable que va entre corchetes). Los indicadores de cabecera pueden activarse con el indicador " -f " y desactivarse con el indicador " -d ". Los indicadores de cabecera controlan el formato del archivo g que se crea con el comando ' get.
Distintivos
| Elemento | Descripción |
|---|---|
| -a Usuario o -a GroupID | Añade el usuario especificado a la lista de usuarios que pueden realizar conjuntos de cambios (deltas) en el archivo SCCS. El valor Usuario puede ser un nombre de usuario o un ID de grupo. Especificar un ID de grupo es el mismo que especificar los nombres de todos los usuarios de ese grupo. Puede especificar más de un distintivo -a en una sola línea de mandatos de admin . Si un archivo SCCS contiene una lista de usuarios vacía, cualquiera puede añadir deltas. Si un archivo tiene una lista de usuarios, el creador del archivo debe estar incluido en la lista para que el creador pueda realizar deltas en el archivo. ¡Si el parámetro User o GroupID va precedido de un ! (Signo de exclamación), se deniega a los usuarios especificados el permiso para realizar deltas. Por ejemplo, introduzca " -a
!User. |
| -d HeaderFlag | Desactiva los efectos del distintivo de cabecera especificado en el archivo SCCS. Puede especificar este distintivo sólo con los archivos SCCS existentes. También puede especificar más de un distintivo -d en un único mandato admin . Consulte la lista de distintivos de cabecera que sigue para obtener más información sobre los valores soportados. |
| -e Usuario o -e GroupID | Elimina al usuario especificado de la lista de usuarios autorizados a realizar deltas en el archivo SCCS. La especificación de un ID de grupo es equivalente a especificar todos los nombres de Usuario comunes a ese grupo. Puede especificar varios distintivos -e en una sola línea de mandatos de admin . |
| -f HeaderFlag[Value ] | Activa el distintivo de cabecera y el valor especificados en el archivo SCCS. Puede especificar más de un distintivo de cabecera en un único mandato admin . Hay 12 distintivos de cabecera. Consulte la lista de distintivos de cabecera que sigue para obtener más información sobre los valores soportados. No coloque un espacio entre las variables HeaderFlag y Value . |
| -h | Comprueba la estructura del archivo SCCS y compara una suma de comprobación recién calculada con la suma de comprobación almacenada en la primera línea del archivo SCCS. Cuando el valor de suma de comprobación no es correcto, el archivo se ha modificado incorrectamente o dañado. Este indicador le ayuda a detectar daños causados por el uso indebido de comandos ajenos a SCCS para modificar archivos SCCS, así como daños accidentales. La bandera ' -h ' impide la escritura en el fichero, por lo que anula el efecto de cualquier otra bandera suministrada. Si se devuelve un mensaje de error indicando que el archivo está dañado, utilice el indicador ' -z ' para volver a calcular la suma de comprobación. A continuación, compruebe si el archivo se ha corregido utilizando de nuevo el indicador " -h ". |
| -i[FileName ] | Obtiene el texto de un nuevo archivo SCCS de la variable FileName . Este texto es el primer delta del archivo. Si especifica el distintivo -i pero omite el nombre de archivo, el mandato admin lee el texto de la entrada estándar hasta que alcanza un carácter de fin de archivo. Si no especifica el distintivo -i , pero especifica el distintivo -n , el mandato crea un archivo SCCS vacío. El mandato admin sólo puede crear un archivo que contenga texto a la vez. Si va a crear dos o más archivos SCCS con una llamada al comando ' admin ', deberá utilizar el indicador ' -n ', y los archivos SCCS que se creen estarán vacíos. Cada línea del fichero especificado por la variable FileName no puede contener más de 512 caracteres. El nombre de archivo puede incluir caracteres MBCS (juego de caracteres de varios bytes). No ponga un espacio entre el distintivo y la variable FileName . |
| -m ModificationRequestList | Especifica una lista de números de solicitud de modificación (MR) que se deben insertar en el archivo SCCS como motivo para crear el delta inicial. Una lista vacía o nula puede considerarse válida, en función del programa de validación utilizado. El indicador de cabecera " v " debe estar activado. Los números MR se validan si el indicador de cabecera " v " tiene un valor (el nombre de un programa de validación de números MR). El comando " admin " informa de un error si el indicador de cabecera " v " no está activado o si falla la validación de MR. |
| -n | Crea un archivo SCCS nuevo y vacío. Cuando se utiliza el indicador " -n " sin el indicador " -i ", el archivo SCCS se crea con información de control pero sin ningún dato de archivo. |
| -r SID | Especifica la versión de archivo SID (serie de identificación de SCCS) que se va a crear. La variable SID acepta un delta con cuatro niveles: release, nivel, rama y secuencia, por ejemplo 3.2.5.1. Si solo se especifica release, el mandato admin asume automáticamente el nivel 1. Si no especifica el distintivo -r , el delta inicial pasa a ser el release 1, nivel 1 (es decir, 1.1). Para más detalles sobre la especificación del SID, consulte la tabla de determinación del SID descrita en el comando ' get. Sólo puede especificar el indicador " -r " si también especifica los indicadores " -i o " -n ". Utilice este distintivo sólo al crear un archivo SCCS. |
| -t [FileName] | Toma el texto descriptivo para el archivo SCCS del archivo especificado por la variable FileName. Si utiliza el indicador " -t " al crear un nuevo archivo SCCS, deberá proporcionar un nombre de archivo. En el caso de los archivos SCCS existentes:
No ponga un espacio entre el distintivo y la variable FileName . |
| -y [Comentario] | Inserta el comentario especificado en el delta inicial de forma idéntica a la del comando ' delta. Utilice este distintivo sólo cuando cree un archivo SCCS. Si no especifica un comentario, el comando ' admin ' inserta una línea de la siguiente forma:
Los comentarios pueden incluir caracteres MBCS (juego de caracteres de varios bytes). No ponga un espacio entre el distintivo y la variable FileName . |
| -z | Vuelve a calcular la suma de comprobación del archivo SCCS y la almacena en la primera línea del archivo SCCS (véase el indicador ' -h ). Atención: El uso del comando ' admin ' con la bandera ' -z ' en un archivo dañado puede impedir la futura detección del daño. Este indicador sólo debe utilizarse si el archivo SCCS se modifica mediante comandos ajenos al SCCS debido a un error grave.
|
| Archivo | Especifica el nombre del archivo creado o modificado por el comando ' admin '. Si se especifica un ' - (signo menos), el comando ' admin ' lee de la entrada estándar. Un carácter de fin de archivo finaliza la entrada estándar. |
- Banderas de cabecera
La siguiente lista contiene los indicadores de cabecera que pueden activarse con el indicador " -f " y desactivarse con el indicador " -d ". Los indicadores de cabecera controlan el formato del archivo g que se crea con el comando ' get.
Tabla 2. Banderas de cabecera Elemento Descripción b Utilice el indicador " -b " de un comando " get " para crear deltas de rama. c Número Hace que la variable Número sea el número de versión más alto que puede utilizar un comando ' get -e '. El valor de la variable Número debe ser mayor que 0 y menor o igual que 9999. (El valor predeterminado es 9999.) d SID Hace que la variable SID sea el delta por defecto que se suministra a un comando ' get '. f Número Hace que la variable Número sea el número de versión más bajo que puede recuperar un comando ' get -e '. La variable Número debe ser mayor que 0 y menor que 9999. (El valor predeterminado es 1.) i [Cadena] Trata el siguiente mensaje informativo, emitido por el comando ' get o ' delta ', como un error:
En ausencia de este distintivo, el mensaje es sólo una advertencia. El mensaje se emite si no se encuentran palabras clave de identificación SCCS en el texto recuperado o almacenado en el archivo SCCS (consulte el comando " get "). Si se proporciona una serie, las palabras clave deben coincidir exactamente con la serie dada. La serie debe contener una palabra clave y no tener nuevas líneas incorporadas.There are no SCCS identification keywords in the file. (cm7)j Permite comandos ' get ' concurrentes para editar el mismo SID de un archivo SCCS. El uso del indicador de cabecera " j " permite múltiples actualizaciones simultáneas de la misma versión del archivo SCCS. listal (L minúscula) Bloquea las versiones especificadas por la variable List para que no se puedan editar, de forma que un comando ' get -e ' contra una de estas versiones falle. La lista tiene la sintaxis siguiente:
El carácter "<List> : : = <Range> | <List> , <Range> <Range> : : = SID | aa" de la lista equivale a especificar todas las versiones del archivo SCCS indicado.m Módulo Sustituye la variable Module para todas las apariciones de la palabra clave " 59" en un archivo de texto SCCS que se recupera mediante un comando " get ". La variable Module por defecto es el nombre del archivo SCCS sin el prefijo 's.'. El nombre de módulo puede incluir caracteres MBCS (juego de caracteres de varios bytes).n Hace que el comando ' delta ' cree un delta nulo en las versiones que se saltan cuando se realiza un delta en una nueva versión. Por ejemplo, si establece delta 5.1 después de delta 2.7, los releases 3 y 4 serán nulos. Las versiones 3 y 4 se crearán como entradas delta nulas en la tabla delta del archivo ' s.. Los deltas nulos resultantes pueden servir como puntos desde los que crear deltas de bifurcación. Sin este distintivo, los releases omitidos no aparecen en el archivo SCCS.q ' Texto Sustituye el texto especificado por todas las apariciones de la palabra clave " " en un archivo de texto SCCS recuperado por un comando " get ". t Tipo Sustituye el tipo especificado por todas las palabras clave ' ' en un archivo g recuperado por un comando ' get '. v [Programa] Hace que el comando ' delta ' solicite números de Solicitud de Modificación (MR) como motivo para crear un delta. La variable Programa especifica el nombre de un programa de comprobación de validez de números MR. Si el indicador " v " está definido en el archivo SCCS, también debe utilizarse el indicador " -m ", aunque su valor sea nulo. El nombre del programa puede incluir caracteres MBCS (juego de caracteres de varios bytes). - Localización de archivos SCCS dañados
Aunque SCCS proporciona cierta protección de errores, es posible que tenga que recuperar un archivo que se ha dañado accidentalmente. Estos daños pueden deberse a un mal funcionamiento del sistema, a un error del operador o a la modificación de un archivo SCCS sin utilizar los comandos SCCS
Estado de salida
Este mandato devuelve los siguientes valores de salida:
| Elemento | Descripción |
|---|---|
| 0 | Finalización satisfactoria. |
| >0 | Se ha producido un error. |
Ejemplos
Estos ejemplos utilizan un archivo de texto imaginario llamadotest.cy un editor como ' ed ' para editar archivos.
- En primer lugar, cree un archivo SCCS ordinario. Para crear un archivo SCCS vacío llamado '
s.test.c, introduzca:
Si se utiliza el comando " admin " con el indicador " -n ", se crea un archivo SCCS vacío.$ admin -n s.test.c - Para convertir un archivo de texto existente en un archivo SCCS, introduzca:
si utiliza el indicador ' -i ', el comando ' admin ' crea el delta 1.1 a partir del archivo especificado. Una vez que se ha creado delta 1.1 , cambie el nombre del archivo de texto original para que no interfiera con los mandatos SCCS:$ admin -itest.c s.test.c There are no SCCS identification keywords in the file (cm7) $ ls s.test.c test.c
El mensaje '$ mv test.c back.cThere are no SCCS identification keywords in the file (cm7)' no indica ningún error. SCCS escribe este mensaje cuando no hay palabras clave de identificación en el archivo. Las palabras clave de identificación son variables que se pueden colocar en un archivo SCCS. Los valores de estas variables proporcionan información como fecha, hora, SID o nombre de archivo. Consulte el comando " get " para obtener una explicación de las palabras clave de identificación. Si no existen palabras clave de identificación, SCCS escribe el mensaje. Sin embargo, si el indicador de cabecera " i " está activado en el archivo "s.", este mensaje provocará un error. Este distintivo lo establece el usuario.Asigne al archivo SCCS un nombre cualquiera que empiece por "
s.. En el ejemplo anterior, el archivo original y el archivo SCCS tienen el mismo nombre, pero no es necesario.Puesto que no ha especificado un número de release, el mandato admin ha otorgado al archivo SCCS un SID de 1.1. SCCS no utiliza el número 0 para identificar deltas. Por lo tanto, un archivo no puede tener un SID de 1.0 o 2.1.1.0, por ejemplo. Todos los nuevos releases empiezan por el nivel 1.
- Para iniciar eltest.ccon un número de versión 3.1, utilice el indicador " -r " con el comando " admin ", como se muestra a continuación, e introduzca:
Para restringir el permiso de modificación de archivos SCCS a un conjunto específico de ID de usuario, enumere los ID de usuario o los números de ID de grupo en la lista de usuarios del archivo SCCS utilizando el indicador " -a " del comando " admin ". Este distintivo puede aparecer varias veces en la línea de mandatos. A continuación, estos ID aparecen en la cabecera de archivo SCCS. Sin el indicador ' -a ' para restringir el acceso, todos los ID de usuario pueden modificar los archivos SCCS.$ admin -itest.c -r3 s.test.c - Para restringir el permiso de edición al ID de usuario '
dan, introduzca:$ admin -adan s.test.c - Compruebe periódicamente los archivos SCCS para detectar posibles daños. La forma más sencilla de hacerlo es ejecutar el comando ' admin ' con el indicador ' -h ' en todos los archivos SCCS o directorios SCCS, como se indica a continuación:
Si el comando ' admin ' encuentra un archivo en el que la suma de comprobación calculada no es igual a la suma de comprobación que figura en la cabecera del archivo SCCS, muestra este mensaje:$ admin -h s.file1 s.file2 ... $ admin -h directory1 directory2 ...
Si un archivo se ha dañado, intente editar el archivo de nuevo o leer una copia de seguridad. Después de arreglar el archivo, ejecute el mandato admin con el distintivo -z y el nombre de archivo reparado:ERROR [s. filename]: 1255-057 The file is damaged. (co6)
Esta operación sustituye la suma de comprobación antigua de la cabecera de archivo SCCS por una nueva suma de comprobación basada en el contenido del archivo actual. Otros mandatos SCCS ahora pueden procesar el archivo.$ admin -z s.file1
Archivos
| Elemento | Descripción |
|---|---|
| /usr/bin/admin | Contiene el mandato SCCS admin . |