Actualizado el 23 de Junio del 2018 (Publicado el 31 de Enero del 2017)
931 visualizaciones desde el 31 de Enero del 2017
968,4 KB
30 paginas
Creado hace 22a (08/10/2002)
Tutorial de Uso de CVS
Ismael Olea
Ignacio Arenaza
Copyright © 2002 Ismael Olea, Ignacio Arenaza
Permiso para copiar, distribuir o modificar este documento de acuerdo a los terminos de la Licencia de Documentacion
Libre de GNU (GNU Free Documentation License), Version 1.1 o posterior, publicada por la Free Software
Foundation. Este documento no contiene Secciones Invariantes (with no Invariant Sections), ni Textos de Portada
(with no Front-Cover Texts) ni Textos de Contraportada (with no Back-Cover Texts).
Historial de revisiones
Revisión $Revision: 1.3 $
Submitted.
$Date: 2002/10/08 16:54:29 $
Breve tutorial introductorio al uso de CVS, con especial énfasis en el uso de la parte cliente de CVS. Se añaden algunas
referencias a frontales adicionales al cliente tradicional, así como enlaces a tutoriales más amplios y detallados. La
parte servidora de CVS se trata también con una cierta profundidad.
Tabla de contenidos
1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminología CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Invocar a CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4. Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.1. La autenticación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Modo de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2. Descarga por primera vez del módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Actualizar nuestra copia local desde el repositorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4. Publicar nuestras modificaciones en el respositorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.5. Resolución de conflictos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.6. Añadir ficheros al módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.7. Eliminar ficheros del módulo CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Configuración del servidor.
6.2. Clases de usuarios y tipo de acceso permitido.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3. Creacion inicial del repositorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.4. Alta de usuarios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.5. Añadir nuevos módulos al repositorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7. Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8. Interfaces de usuario para CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6. Cómo configurar un servidor y cómo incorporar nuevos módulos al repositorio.
1
9. Otros recursos CVS interesantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10. Otros recursos CVS más avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11. Licencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1. Introducción
CVS es un sistema de mantenimiento de código fuente (grupos de ficheros en general) extraordinariamente útil para
grupos de desarrolladores que trabajan cooperativamente usando alguna clase de red.
Para ser más concreto, CVS permite a un grupo de desarrolladores trabajar y modificar concurrentemente ficheros
organizados en proyectos. Esto significa que dos o más personas pueden modificar un mismo fichero sin que se
pierdan los trabajos de ninguna. Además, las operaciones más habituales son muy sencillas de usar.
Como añadido a lo anterior, CVS guarda todas las versiones antiguas de los ficheros. Esto permite recuperar en
cualquier momento versiones anteriores a la actual.
Dado que trabaja con ficheros ASCII es igual de útil para trabajar con código fuente de programas o con toda clase de
documentos siempre que su formato sea completamente de texto, como pueden ser ficheros sgml/html/xml.
Este documento es una referencia inmediata para trabajar con CVS. A poco que le saque partido necesitará consultar
otro más extenso y detallado. Sin embargo el 80% o más de las acciones que desarrollan los usuarios de CVS están
documentadas en este artículo.
Con CVS puede trabajarse de forma local (repositorio y copias de trabajo en el mismo sistema) o remota (el repositorio
está en un sistema servidor y la copia local en otro que es cliente del primero).
En este artículo sólo prestaré atención al modo de trabajo remoto, que es el mas utilizado habitualmente en los
proyectos de software libre, por su modus operandi habitual.
2. Terminología CVS
Para que no se pierda, un brevísimo vocabulario:
Jerarquía de directorios alojada en el servidor CVS que contiene diferentes módulos a
disposición de los usuarios.
Árbol de directorios que forma parte del repositorio. Cuenta con un nombre identificador
gracias al cual podremos trabajar con él de forma selectiva.
repositorio
módulo
2
3. Invocar a CVS
CVS es un programa que se invoca desde intérpretes de órdenes. Según cual sea su configuración (desde el punto de
vista de las diferentes formas de autenticación, que veremos en un momento) lo podrá usar en procesos por lotes sin
ningún problema.
Un aspecto que debe tener en cuenta (sobre todo si este es el primer documento que lee sobre CVS) es que CVS
tiene parámetros para cada una de sus órdenes. Para conocerlas tiene dos métodos: invocar CVS como cvs help o
consultar la ayuda de su página del manual.
4. Configuración
Puede usar varios ficheros de configuración que CVS reconocerá y usará.
Entre otros, tenemos los siguientes:
~/.cvsignore
que contiene los sufijos de los ficheros que no nos interesa que CVS controle. Por
ejemplo podemos tener:
*.aux *.dvi *.ps *.log
si los ficheros de este módulo son principalmente documentos escritos en (La)TeX, ya
que las extensiones mostradas arriba corresponden a los diferentes ficheros temporales
creados durante el procesado del fichero fuente original para obtener el fichero listo para
impresión.
D1 Así evitamos contaminar el repositorio con ficheros que realmente no es necesario
que estén controlados por CVS.
3
~/.cvsrc
que contiene aquellos parámetros que CVS usará cada vez que se invoque una determi-
nada orden, de forma automática. Por ejemplo:
update -Pd
diff -uw
cvs -z 3
Significa que queremos que cuando usemos la orden update, automáticamente y sin que
tengamos que escribir nada más, se añadan los parámetros -Pd (borrar los directorios
vacíos tras la actualización y crear los directorios del repositorio que no existan en la
copia local). Algo similar ocurre con la orden diff.
D1 La última línea es especial, en el sentido de que no hay una orden cvs. Se trata de la
forma en que se indican parámetros globales del propio CVS, no específicos de ninguna
orden.
4.1. La autenticación
Al trabajar en remoto con CVS pueden elegirse varias alternativas de autenticación (es decir, de demostrar al servidor
que somos quienes decimos ser).
Las más utilizadas son vía pserver y vía ssh (aunque existen otras dos formas al menos: vía rsh, totalmente
desaconsejada por motivos de seguridad, y vía Kerberos, que no es habitual por necesitar toda la infraestructura
de seguridad de Kerberos).
Deberá elegir alguna de estas técnicas en función de sus necesidades, en caso de que no vengan impuestas de forma
externa (por ejemplo, porque el repositorio ya existe y el tipo de acceso ya ha sido elegido previamente).
4.1.1. ssh (OpenSSH)
Para que CVS use este modo de autenticación se deben usar estas variables de entorno:
export CVSROOT=:ext:USUARIO@cvs.dominio.org:/var/lib/cvs
export CVS_RSH=/usr/bin/ssh
donde USUARIO es el nombre de usuario que tiene acceso al repositorio, cvs.dominio.org, es el nombre del
servidor donde se aloja el repositorio, /var/lib/cvs es el directorio del servidor en el que está el repositorio y
/usr/bin/ssh es la ruta completa al ejecutable de ssh.
4
Tenga en cuenta que, usando esta técnica, tendrá que autenticarse (es decir, suministrar su contraseña) cada vez que
ejecute alguna orden de CVS (a menos que use autenticación con clave pública RSA/DSA para ssh).
La ventaja de usar ssh com
+
Comentarios de: Tutorial de Uso de CVS (0)
No hay comentarios