Node:Opciones Globales, Next:add, Previous:Formatos de Fecha, Up:Ordenes y Opciones
Aquí están todas las opciones globales de CVS.
--allow-root=REPOSITORY
La primera opción global alfabéticamente es una que no se usa nunca
en la línea de mandatos. La opción -alow-root se usa con el
mandato pserver
para permitir acceso acreditado al repositorio
dicho (que es el nivel alto de un repositorio, como
/usr/local/newrepos
, no un subdirectorio de proyecto como
/usr/local/newrepos/myproj
).
Esta opción global no se usa virtualmente nunca en la línea
de mandatos. Normalmente el único sitio donde lo usaría
es en los ficheros /etc/inetd.conf
(ver Administracion del Repositorio), que es también casi el único sitio donde el mandato
pserver
se usa.
Cada repositorio a ser accedido vía cvs pserver
en un
servidor dado, necesita la correspondiente opción -allow-root en
/etc/inetd.conf
. Éste es un dispositivo de seguridad, pensado
para asegurar que cualquiera no puede usar un pserver de CVS para
conseguir acceso a repositorios privados.
(Ver El servidor de autentificacion de contrasen~as también en el nodo Servidor Acreditado por Clave en el manual Cederqvist.)
-a
Esto acredita todas las comunicaciones con el servidor. Esta opción no tiene efecto a no ser que se esté conectado vía servidor GSSAPI (gserver). Las conexiones GSSAPI no se cubren en este libro, porque son todavía usadas raramente (aunque esto puede cambiar). (Ver las notas Opciones Globales y Acreditación GSSAPI en el manual Cederqvist para obtener más información.)
-b
(Caído en desuso)Esta opción especifica formalmente el directorio donde los ejecutables del RCS se encuentran. CVS ahora implementa las funciones RCS internamente, por lo que esta opción no surte efecto (se mantiene sólo por compatibilidad retrospectiva).
-d
REPOSITORIOEsto especifica el repositorio, que puede ser una ruta absoluta o
una expresión más compleja involucrando método de conexión,
nombre de usuario, servidor y ruta. Si es una expresión especificando
un método de conexión, la sintaxis general es:
:MÉTODO:USUARIO@NOMBRE_DEL_SERVIDOR:RUTA_AL_REPOSITORIO
Aquí hay ejemplos usando cada uno de los métodos de conexión:
:ext:jcualquiera@floss.red-bean.com:/usr/local/newrepos
- Conecta
usando rsh
, ssh
, o algún otro programa de conexión
externo. Si la variable de entorno $CVS_RSH
no está
especificada, la opción por omisión es rsh
; de otro modo, usa
el valor de esta variable.
:server:jcualquiera@floss.red-bean.com:/usr/local/newrepos
- Como
:ext:
, pero usa la implementación interna de rsh. (Esto puede
no estar disponible en todas las plataformas.)
:pserver:jcualquiera@floss.red-bean.com:/usr/local/newrepos
-
Conecta usando el servidor de acreditación de claves (ver
El servidor de autentificacion de contrasen~as en Administracion del Repositorio; ver también el mandato login.)
:kserver:jrandom@floss.red-bean.com:/usr/local/newrepos
-
Conecta usando acreditación Kerberos.
:gserver:jrandom@floss.red-bean.com:/usr/local/newrepos
-
Conecta usando acreditación GSSAPI.
:fork:jcualquiera@floss.red-bean.com:/usr/local/newrepos
- Conecta
a un repositorio local, pero usando el protocolo de red cliente/servidor
en vez de acceder directamente a los ficheros del repositorio. Esto es
útil para comprobar y depurar comportamientos de CVS en remoto desde
su máquina local.
:local:jcualquiera@floss.red-bean.com:/usr/local/newrepos
-
Accede a un repositorio local directamente, como si se diera sólo
la ruta absoluta al respositorio.
-e
EDITORInvoca EDITOR para su mensaje de entrega, si el mensaje de entrega no
se especifica en la línea de mandatos con la opción -m.
Normalmente, si no da un mensaje con la opción -m, CVS invoca el
editor basado en las variables de entorno $CVSEDITOR
,
$VISUAL
, o $EDITOR
, que comprueba en este orden. Fallado
esto, invoca el editor popular de Unix vi
.
Si pasa tanto la opción -e como la -m en una entrega, el -e no se
tiene en cuenta a favor del mensaje de entrega dado en la línea
de mandatos (de este modo es seguro usar -e en un fichero .cvsrc
).
-f
Esta opción global suprime la lectura del fichero .cvsrc
.
--help
[MANDATO] o -H
[MANDATO]Estas dos opciones son sinónimas. Si no se especifica MANDATO, se imprime un mensaje de uso básico a la salida estándar. Si se especifica MANDATO, se imprime un mensaje de uso para ese mandato.
--help-options
Imprime una lista con todas las opciones globales de CVS, con breves explicaciones.
--help-synonyms
Imprime una lista de mandatos CVS y sus formatos cortos ("up" para "update", y así sucesivamente).
-l
Suprime el registro del mandato en el fichero CVSROOT/history
en
el repositorio. El mandato se ejecuta normalmente, pero no se realiza
ninguna archivación en el fichero de historial.
-n
No cambia ningún fichero en la copia de trabajo o en el repositorio. En otras palabras, el mandato se ejecuta como una "ejecución en seco" - CVS corre a través de la mayoría de los pasos del mandato pero evita cualquier clase de ejecución.
Ésto es útil cuando quiere ver qué habría hecho el mandato
si usted lo hubiera ejecutado. Un escenario común es cuando quiere ver
qué ficheros de su directorio de trabajo han sido alterados, pero no
una actualización completa (que podrí traer cambios del
repositorio). Ejecutando cvs -n update
, puede ver un sumario
de qué ha sido hecho localmente, sin cambiar su copia de trabajo.
-q
Esto pide a CVS ser moderadamente silencioso, suprimiendo la impresión de mensajes de información no importantes. Qué es considerado "importante" depende del mandato. Por ejemplo, en actualizaciones, los mensajes que CVS imprime normalmente al entrar en cada subdirectorio de la copia de trabajo se suprimen, pero los mensajes de estado de una línea para los ficheros modificados o actualizados se siguen imprimiendo.
-Q
Esto pide a CVS ser muy silencioso suprimiendo toda la salida excepto
los que son absolutamente necesario para completar el mandato. Los
mandatos cuyo único propósito es producir alguna salida (como
diff
o annotate
), de hecho, siguen dando esa salida.
Sin embargo, los mandatos que podrían tener un efecto independiente
de cualquier mensaje que pudieran imprimir (como update
o
commit
) no imprimen nada.
-r
Hace que los ficheros de trabajo sean creados como de sólo lectura
(el mismo efecto que configurando la variable de entorno
CVSREAD
).
Si usted pasa esta opción, las obtenciones y las entregas hacen los ficheros de sólo lectura en su copia de trabajo (asumiendo que su sistema operativo lo permita). Francamente, no sé por qué alguien podría querer usar alguna vez esta opción.
-s
VARIABLE=
VALOREsto asigna el VALOR a la variable interna de CVS llamada VARIABLE.
En el lado del repositorio, los fichero disparadores
CVSROOT/*info
puede expandir tales variables a valores
que fueron asignados en la opción -s. Por ejemplo, si
CVSROOT/loginfo
contiene una línea como esta
miproyecto /usr/local/bin/foo.pl ${=PEZ}
y alguien ejecuta una entrega desde una copia de trabajo miproyecto
así
floss$ cvs -s PEZ=carpa commit -m "arreglado el bug cebo"
el script foo.pl
se invoca con carpa
como un argumento.
Note la sintaxis chula, así: El signo del dólar, igual y las
llaves son todas necesarias - si alguno de ellos falta, la
expansión no toma lugar (al menos no como se trataba). Los nombres
de variables sólo pueden contener alfanuméricos y subrayados.
Aunque no se requiere que estén en mayúsculas, la mayoría
de la gente parece seguir esta convención.
Puede usar el indicador -s tantas veces como quiera en un mandato
simple. Sin embargo, si el script disparador se refiere a variables
que no son asignadas en una invocación particular de CVS, el mandato
también tiene éxito, pero ninguna de las variables se expande, y
el usuario ve un aviso. Por ejemplo, si loginfo tiene esto
miproyecto /usr/local/bin/foo.pl ${=PEZ} ${=AVE}
pero el mismo mandato de antes se ejecuta
floss$ cvs -s PEZ=carpa commit -m "arreglado el bug cebo"
la persona que ejecuta el mandato ve un mensaje de aviso como este
(puesto al final de la salida)
loginfo:31: no such user variable ${=AVE}
(loginfo:31: variable de usuario inexistente) y el script foo.pl
se invoca sin argumentos. Pero si se ejecuta este mandato
floss$ cvs -s PEZ=carpa -s AVE=buitre commit -m "arreglado el bug cebo"
aquí no habría aviso, y tanto ${=PEZ}
como
${=AVE}
en loginfo estarían correctamente expandidos.
En cualquier caso, la entrega en sí misma, tendría éxito.
Aunque estos ejemplos usan todos commit
, la expansión de
variables puede hacerse con cualquier mandato CVS que pueda ser
notificado en un fichero disparador CVSROOT/
- que es por
lo que la opción -s es global.
(Vea la sección Ficheros de Administracion del Repositorio más adelante en este capítulo para obtener más detalles sobre la expansión de variables en ficheros disparadores.)
-T
DIRECTORIOGuarda cualquier fichero temporal en el DIRECTORIO en vez de donde CVS
lo pone normalmente (específicamente, esto sustituye el valor de
la variable de entorno $TMPDIR
, si existiera). DIRECTORIO
debería ser una ruta absoluta.
Esta opción es útil cuando usted no tiene que permiso de escritura (y, por tanto, CVS tampoco) a los directorios temporales usuales.
-t
Traza la ejecución del mandato de CVS. Esto hace a CVS imprimir mensajes mostrando los pasos que se dan a lo largo de la ejecución de un mandato. Puede encontrarlo particularmente útil en conjunción con la opción global -n, para prever los efectos de un mandato poco familiar antes de ejecutarlo de verdad. También puede ser útil cuando intenta descubrir por qué un mandato falló.
-v
o --version
Hace que CVS imprima información de sus versiones y derechos de copia y después salga sin error.
-w
Hace que los ficheros de trabajo sean creados como lectura-escritura
(remplaza cualquier configuración de las variables de entorno
$CVSREAD
). Debido, de todos modos, a que los ficheros se crean
por omisión en modo lectura-escritura, esta opción se usa raramente.
Si tanto -r como -w se pasan, -w domina.
-x
Encripta todas las comunicaciones con el servidor. Esta opción no tiene efecto a no ser que esté conectando vía servidor GSSAPI (gserver). Las conexiones GSSAPI no se cubren en este libro, porque son todavía raramente usadas (aunque esto puede cambiar). (Ver los nodos Opciones Globales y Acreditación GSSAPI en el manual Cederqvist para ampliar información.)
-z
NIVEL-GZIPAjusta el nivel de compresión en las comunicaciones con el servidor. El argumento NIVEL-GZIP debe ser un número entre el uno y el nueve. El nivel uno es compresión mínima (muy rápida, pero poca compresión). El nivel nueve es la compresión más alta (aunque es mucho tiempo de CPU, pero asegura que comprime los datos). El nivel nueve es solamente útil en conexiones de red muy rapidas. La mayor parte de la gente encuentra los niveles entre el tres y el cinco los más benificiosos.
Un espacio entre -z y su argumento es opcional.