PDF de programación - Micro-cómo empezar a trabajar con CVS

Imágen de pdf Micro-cómo empezar a trabajar con CVS

Micro-cómo empezar a trabajar con CVSgráfica de visualizaciones

Actualizado el 07 de Diciembre del 2018 (Publicado el 14 de Abril del 2017)
481 visualizaciones desde el 14 de Abril del 2017. Una media de 7 por semana
23,9 KB
7 paginas
Micro-cómo empezar a trabajar con cvs

Tabla de contenidos
Introducción
Terminología cvs
Invocar a cvs
Configuración
Uso
Cómo configurar un servidor y cómo subir nuevos módulos al repositorio.
Bibliografía
Interfaces gráficos
Otros recursos cvs interesantes
Otros recursos cvs más avanzados
Licencia

Introducción

CVS es algo que al principio es difícil de explicar con sencillez pero que al final resulta indispensable para la vida. Así, como lo
oye.

CVS es un sistema de mantenimiento de código fuente 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, sus funciones más usadas son muy sencillas de usar.

Además CVS guarda 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 saques partido necesitarás consultar otro más
extenso. 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 que más impresiona a las visitas.

Terminología cvs

Para que no te pierdas, un brevísimo vocabulario:

repositorio

jerarquía de directorios alojada en el servidor que contiene diferentes módulos a disposición de los usuarios.

módulo

árbol de directorios que forma parte del repositorio; cuenta con un nombre identificador gracias al cual podremos
bajárnoslo de forma selectiva.

Invocar a cvs

cvs es un programa que se invoca desde intérpretes de órdenes. Según cómo sea su configuración (y estoy pensando en las
diferentes formas de autenticación) lo podrás usar en procesos por lotes sin ningún problema.

Un aspecto que debes tener en cuenta (sobre todo si este es el primer documento que lees sobre cvs) es que cvs tiene
parámetros para cada una de sus órdenes. Para conocerlas tienes dos métodos: invocar cvs como «cvs help» o mirar la ayuda.

Configuración

Puedes usar varios ficheros de configuración que cvs reconocerá y usará.

Yo, que soy el mejor ejemplo que tengo a mano, uso los siguientes:

˜ /.cvsignore

que contiene los sufijos de los ficheros que no nos interesa que cvs controle:

*.tex *.aux *.dvi *.ps *.log

˜ /.cvsrc

que contiene parámetros que cvs usará cada vez que se invoque:

cvs -z 3
update -Pd
diff -uw

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 que somos).

Las que más he visto usar son vía pserver y vía ssh.

Deberás elegir alguna de estas técnicas en función de sus necesidades, las ganas que tengas de complicarte la vida y, sobre
todo, del grado de neurosis obsesiva por la seguridad que padezcas.

ssh

Como uno va por la vida predicando el software libre no puedo más que recomendar el uso de OpenSSH que puede
encontrarse en http://www.openssh.org. Si no me equivoco, esta herramienta es compatible con la norma ssh 1.x.

Para que cvs use este modo de autenticarse se pueden usar estas variables de entorno:

export CVSROOT=":ext:USUARIO@www.vivalavirgen.com:/home/cvs"
export CVS_RSH=/usr/bin/ssh

donde

USUARIO

es nuestro nombre de usuario;

www.vivalavirgen.com

es el servidor que aloja al repositorio;

/home/cvs

es el directorio del servidor en el que está el repositorio;

/usr/bin/ssh

es la ruta completa al amigo ssh.

Tenga en cuenta que, usando esta técnica, tendrá que autenticarse (es decir, suministrar su contraseña) cada vez que ejecute
cvs.

pserver

Esta técnica es más de «andar por casa». Se monta rápidamente y no necesita de programas añadidos.

export CVSROOT=":pserver:USUARIO@www.vivalavirgen.com:/home/cvs"

donde

USUARIO

es nuestro nombre de usuario;

www.vivalavirgen.com

es el servidor que aloja al repositorio;

/home/cvs

es el directorio del servidor en el que está el repositorio.

Si usa esta técnica, antes de poder trabajar con cvs debe autenticarse con el servidor. Eso se hace con la orden login:

$ cvs login

CVS le pedirá la contraseña del usuario que haya configurado.

Si la contraseña es correcta cvs guardará la información que necesita en el fichero

˜/.cvspass

y no tendrá que volver a autenticarse.

Si por algún motivo exotérico quisiera «cerrar la sesión cvs» bastará con hacer:

$ cvs logout

Uso

Modo de uso

A continuación se propone una sencilla metodología de trabajo con cvs para evitar trabajos redundantes. Piénsese por ejemplo
en la eliminación de erratas o errores en documentos o en código fuente.

Antes de cada sesión de trabajo es conveniente hacer «cvs update» para asegurarnos de que disponemos de las últimas
modificaciones.

Justo al acabar cada sesión de trabajo es conveniente hacer «cvs ci» para que todas nuestras modificaciones se propaguen en el
servidor.

Bajar por primera vez el módulo

Para crear una copia de trabajo local del módulo cvs deseado debemos usar la orden co (o su equivalente checkout):

$ cd [padre-de-directorio-donde-se-alojará-el-módulo]
$ cvs co [nombre-del-módulo]

Esto creará una jerarquía de directorios donde se almacenará el módulo.

Este paso sólo hay que hacerlo una vez por cada módulo.

A partir de este momento no es necesario configurar las variables de entorno porque cvs sabe a qué repositorio pertenece el
módulo con sólo examinar los subdirectorios CVS. No debes modificar nunca esos subdirectorios o volverás loco al pobre cvs.

Actualizar cambios

Cuando queramos actualizar la copia local del módulo con los cambios que hayan podido hacer otros usuarios y que están
recogidos en el repositorio deberemos hacer:

$ cd [directorio-del-módulo]
$ cvs update

Publicar nuestras modificaciones

Se usa la orden ci (o su equivalente commit):

$ cd [directorio-del-módulo]
$ cvs ci

Tras lo cual el sistema mostrará la pantalla de un editor de textos (el que tengamos configurado como nuestro favorito en las
variables de entorno) para que describamos el cambio.

Resolución de conflictos

Tal cual la ONU habrá ocasiones en las que tengamos que resolver los conflictos que surjan entre diferentes versiones para que
cvs continúe trabajando. Estos conflictos son normales y ocurren cuando dos o más personas modifican a la vez exactamente la
mismas partes de un fichero.

El procedimiento es simple:

cvs se quejará de un fichero;

editamos ese fichero;

encontraremos unas marcas del tipo

[...]
>>>>>>>>>>>>>>
taca
===========
tacataca
<<<<<<<<<<<<<<
[...]

El texto entre marcas es el que produce el conflicto. Hay que elegir qué modificación nos gusta y borramos todo lo
demás.

si no quedan conflictos volvemos a hacer el «ci» y a ser felices.

Añadir ficheros al módulo

No olvides que cvs controlará sólo los ficheros que se le hayan indiciado expresamente. Cualquier otro fichero en el directorio
cvs será ignorado.

Si quieres incluir un nuevo fichero o directorio al módulo cvs hay que seguir los siguientes pasos:

$ cd [directorio-del-módulo]
$ cvs add [fichero]

pero si el fichero es binario hay que tener la precaución de hacer:

$ cd [directorio-del-módulo]
$ cvs add -kb [fichero]

¿Por qué?, se preguntará el lector más intrépido. Resulta que CVS usa varias variables (en realidad son de RCS, que
funciona por debajo de CVS). Si el fichero es binario es posible que se de una combinación de bytes que coincidan con alguna
de estas variables. Si así fuera, RCS/CVS modificaría el contenido y lo corrompería. También se debe a que el sistema de
cálculo de diferencias que usan estos sistemas no está diseñado para trabajar con información binaria. Si se obra
equivocadamente es probable que corrompamos los datos.

También quiero señalar que si bien se pueden gestionar ficheros binarios, no se hará control de versiones de los mismos. Sólo
se guardará la última versión.

Tras el «add» hay que hacer un «cvs ci» para actualizar el servidor con los nuevos ficheros.

Eliminar ficheros del módulo cvs

Para eliminar un fichero del módulo cvs hay que hacer lo siguiente una vez borrado el fichero:

$ cd [directorio-del-módulo]
$ cvs remove [fichero]

En cambio, si queremos borrar físicamente los ficheros a la vez que los eliminamos del módulo deberemos usar:

$ cd [directorio-del-módulo]
$ cvs remove -f [fichero]

Cómo configurar un servidor y cómo subir nuevos módulos
al repositorio.

Si este documento es tu referencia favorita sobre cvs no merece la pena que te explique cómo se hacen estas cosas porque de
todas formas no te ibas a enterar. Espabila un poco porque es bien fácil una vez que uno se ha mirado los manuales.

Si alguien con mejor corazón que yo tiene tiempo, que amplíe esta sección para beneficio de todos.

Bibliografía

Por un lado hay un completísimo fichero info dedicado a cvs. Si usa GNU/Linux es muy probable que ya lo tenga instalado en
su sistema.

Por otro lado en http://cvsbook.red-bean.com/ está disponible otro libro documentando cvs.

Interfaces gráficos

Espero que si llegas a este punto es por curiosidad o por la inercia de la lectura porque los verdaderos tecnófilos tienen que
saber exactamente qué es lo que hacen en cada momento sin que ninguna clase de software intente facilitarles la vida
encapsulando complejidades. Sobre todo cuando ese software ofrece interfaces gráficos.

En cualquier caso y para que nadie
  • Links de descarga
http://lwp-l.com/pdf2796  

Comentarios de: Micro-cómo empezar a trabajar con CVS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad