CVS: Referencia rápida
Para acceder a un CVS usando SSH se deben establecer las siguiente variables de entorno con
la información apropiada para cada servidor/usuario/repositorio:
export CVSROOT=:ext:USUARIO@servidor:/path/repositorio
export CVS_RSH=/usr/bin/ssh
Para acceder a un CVS sin SSH y con identificación en el lado servidor se deben establecer las siguiente variables de entorno con la información apropiada para cada servidor/usuario/repositorio:
export CVSROOT=:pserver:USUARIO@servidor:/home/cvs/marble
Comandos habituales:
- Identificación con el servidor establecido en la variable de entorno CVSROOT
cvs login
- Crear un módulo en el servidor a partir del directorio actual donde debemos tener el código inicial (normalmente se usa como etiqueta-vendedor el mismo nombre-módulo y como etiqueta-version "start")
cvs import nombre-módulo etiqueta-vendedor etiqueta-versión
- Listado de módulos existentes en el servidor
cvs checkout -c
- Descarga inicial de un módulo
cvs checkout modulo
- Descarga inicial de un módulo usando máxima compresión
cvs -z3 checkout modulo
- Actualizar la copia local
cvs update [file]
- Actualizar la copia local y bajar usando maxima compresion
cvs -z3 update [file]
- Subir al servidor los cambios (se abrirá el editor definido en las variables de entorno CVSEDITOR, VISUAL o EDITOR donde se tendra que escribir los cambios realizados y salir guardando, automáticamente cogerá ese texto para subirlo al log del CVS)
cvs commit [file]
- Ver el estado de un fichero
cvs status file
- Ver todos los logs
cvs log file
- Ver el último log
cvs log -r HEAD file
- Ver el log de la revisión 1.3
cvs log -r 1.3 file
- Mostrar diferencias entre copia local y ultima revisión
cvs diff file
- Mostrar diferencias entre copia local y revisión 1.9
cvs diff -r 1.9 file
- Mostrar diferencias entre revisión 1.5 y 1.9
cvs diff -r 1.5 -r 1.9 file
- Crea un parche el cual aplicandolo con el comando patch sobre
el codigo de la revisión 1.3 se pueda pasar a la revisión 1.4
cvs -z3 rdiff -r 1.3 -r 1.4 sniffer
- Añadir un archivo (no sube al servidor hasta realizar un commit)
cvs add file
- Borrar un archivo (no se borra del servidor si no se realiza commit)
cvs remove file
- Actualizar nuestro código al código que habia en la fecha indicada
el código bajado se marca como sticky con dicha fecha (consultar que
implica exactamente esto en la documentación original del CVS)
cvs update -D "1999-04-19"
cvs update -D "1999-04-19 23:59:59 GMT"
cvs update -D "19 Apr 1999"
cvs update -D "19 Apr 1999 20:05"
cvs update -D "19/04/1999"
cvs update -D "3 days ago"
cvs update -D "5 years ago"
cvs update -D "19 Apr 1999 23:59:59 GMT"
cvs update -D "19 Apr"
- Eliminar sticky y baja de nuevo la última revisión del código
cvs update -A
- Establecer tags para no tener que recordar fechas y poder recuperar
estados anteriores
cvs -q tag Release-1999_05_01
- Recuperar usando tag
cvs checkout -r Release-1999_05_01 myproj
ó
cvs update -r Release-1999_05_01
Archivo de configuración:
Es posible hacer que algunos parámetros no los tengamos que especificar cada vez que ejecutamos
el comando, esto se hace utilizando un archivo de configuración llamado .cvsrc y
ubicado en el directorio personal del usuario (/root/ o /home/usuario). El contenido de este podria
ser:
diff -c
update -P
cvs -q
Lo que significaria:
- Al ejecutar un cvs diff, motrar la hora en la que hubo la modificacion:
diff -c
- Al ejecutar un cvs update, borrar los directorios que ya no esten en el servidor CVS:
update -P
- Al ejecutar cvs, no mostrar información innecesaria:
cvs -q