"La Gaceta de Linux... haciendo de Linux algo un poco más divertido!"


CVS: Sistema Concurrente de Versiones

Un programa de control de fuentes utilizado por Mark

Por: Mark Nielsen

Traducción al Español por: Lucas Maximiliano Sola
el día 5 de Septiembre 2000, para La Gaceta de Linux.


  1. Referencias
  2. Introducción
  3. Subir archivos al depósito CVS-- creando su primer central de depósitos.
  4. Bajar archivos desde CVS.
  5. Agregando un archivo al depósito cvs "Mis_Archivos"
  6. Borrando un archivo desde el depósito cvs "Mis_Archivos"
  7. Cambiando un archivo y subiendo los cambios hacia el depósito "Mis_Archivos"
  8. Conclusión

Referencias

  1. www.cyclic.com
  2. Manual para CVS
  3. Información para nuevos usuarios.
  4. Soporte ----- No estoy seguro si este enlace es válido. Allí parece haber una compañía que soportará el CVS.

Introducción

CVS es un programa "buena onda" que le permite a la gente controlar diferentes versiones de su software. Me ha salvado el trasero con anterioridad. Es relativamente fácil de usar, y cualquiera que sea nuevo en la programación, o que quiere apegarse al software libre, debería utilizar CVS. Recientemente, CVS se ha convertido en un programa soportado oficialmente por una compañía.

Comenzando

Primero que todo, asumo que usted está utilizando BASH, la cual es estándar en la mayoría de los sistemas UNIX más inteligentes. También asumo que posee acceso como usuario root a la computadora que va a utilizar. Hay maneras simples de permitir que varias personas tengan acceso al depósito CVS, pero asumiré que sólo será utilizado por el momento por una sola persona.

Ingrese al sistema como usuario root, y ejecute lo siguiente. Asumo que usted es el usuario "mark", pero puede haber cualquier usuario es su sistema.
mkdir /usr/local/cvs
chown mark /usr/local/cvs

Ahora ingrese al sistema como "mark" y haga lo siguiente.

Edite su archivo .bashrc utilizando vi o emacs o también pico, e ingrese este comando.
CVSROOT=/usr/local/cvs

Guárdelo y ejecute "source .bashrc". Ahora cuando usted ingrese al sistema, configurará su variable de entorno para utilizar este directorio por defecto si usted no especifica un directorio a utilizar.

Cree un directorio, el cual es necesitado por cvs.
mkdir /usr/local/cvs/CVSROOT

Subir archivos al depósito CVS

El propósito de este ejercicio es subir archivos dentro del depósito de tal modo que los archivos estén bajo control de fuentes. Luego, bajaremos estos archivos dentro de otro directorio, o el directorio de trabajo.

En su directorio personal "mark", cree un directorio temporal llamado "Temp_Source" y coloque unos cuantos archivos dentro de él. Tal como,
mkdir Temp_Source
ls > Temp_Source/Archivo1.txt
ls Temp_Source/* > Temp_Source/Archivo2.txt

Ahora queremos poner los archivos de Temp_Source dentro del CVS. Haga esto, ingrese al directorio Temp_Source.
cd Temp_Source
luego emita este comando
cvs import -m "Prueba Importar" Mis_Archivos Revision1 start

Ahora estamos listos para hacer un directorio de trabajo. Nos olvidaremos del directorio Temp_Source y pretenderemos que nunca existió. A propósito, eche un vistazo a /usr/local/cvs y observe lo que cvs ha hecho. Usted puede agregar más paquetes al depósito cvs si así lo desea.

Bajando archivos desde CVS

Bien, ahora queremos bajar estos archivos dentro de un directorio de trabajo y pretenderemos que nuestro directorio Temp_Source no existe. Este a menudo será el caso en donde alguna otra persona ingresa dentro del CVS y espera que usted lo mantenga.

Cuando hacemos una revisión específica de un paquete desde cvs, creará un directorio por nosotros. El parámetro "Mis_Archivos" que especificamos cuando subimos los archivos dentro del cvs será el nombre del directorio creado para nosotros cuando cvs baje los paquetes por nosotros.

Ahora necesitamos obtener el paquete cvs.
cvs checkout Mis_Archivos

Si miramos, ahora poseemos un directorio llamado "Mis_Archivos". Ingrese dentro del directorio,
cd Mis_Archivos
y ejecute el comando "ls".
ls
 

Agregando un archivo al depósito cvs "Mis_Archivos"

Asumo que usted está en el directorio Mis_Archivos. A fin de agregar un archivo al depósito, cree uno.
ls /etc > Archivo3.txt
Ahora ejecute el comando para configurarlo a fin de que el archivo sea agregado al depósito cvs.
cvs add Archivo3.txt
Ahora necesita realmente subir el archivo. El comando previo sólo preparó la configuración para poder hacerlo.
cvs commit

"cvs commit" lo llevará a usted dentro de su editor por defecto, vi o emacs o algún otro. Guarde el archivo, y cuando usted salga del editor, cvs le preguntará para continuar, seleccione la opción continuar. Ahora usted ha subido un archivo al depósito cvs llamado "Mis_Archivos".

Además, ejecute el comando "ls", y usted se percatará que posee un directorio llamado "CVS", cvs crea un directorio "CVS" en cada directorio en el cual usted haya bajado un archivo desde un depósito y mantiene los cambios actualizados.
 

Borrando un archivo desde el depósito cvs "Mis_Archivos"

En orden de borrar un archivo desde el depósito cvs. haga esto
rm Archivo3.txt
cvs remove Archivo3.txt
cvs commit

El primer paso en realidad borra el archivo en su directorio. El segundo paso lo remueve de la configuración del directorio actual en el cual usted está. El tercer paso perpreta este cambio en el depósito cvs llamado "Mis_Archivos". Si usted no ejecuta "cvs remove Archivo3.txt", encontrará difícil la ejecución del comando "cvs commit" en el futuro y no actualizará el depósito correctamente, al menos esa ha sido mi experiencia.

Cambiando un archivo del depósito cvs "Mis_Archivos"

Asumo que usted está en el directorio "Mis_Archivos". Agreguemos algún contenido al archivo Archivo2.txt

ls /var >> Archivo2.txt
cvs commit
 

Bajando actualizaciones que otra gente realiza

Si usted quiere bajar un paquete desde un depósito que otra persona está manteniendo, si usted desea bajar todos los cambios, entonces ejecute el siguiente comando,

cvs update -dP

La "d" crea cualquier directorio que exista o falta.
La "P" remueve cualquiera de los directorios que fueron borrados desde el depósito.
 

Comentarios

He notado que el comando "cvs commit" debería ir recursivamente a través de todos los directorios desde el lugar en donde se encuentra actualmente y listar todos los cambios en un archivo. Sin embargo, en algunos sistemas, crea un archivo por directorio, lo cual significa que justo antes de subir los cambios al depósito, cvs inicia el editor para cada directorio que ha cambiado, lo cual es fastidioso. Tengo que tratar de figurarme cómo configurarlo para que liste todos los cambios en un sólo archivo y no muchos.

CVS es el mejor programa de control de fuentes que yo he usado. Es el mejor porque viene por defecto en la mayoría de las distribuciones de Linux, y es relativamente fácil de usar, distinto de algunos otros programas de control de fuentes que he visto. Los principales sitios de software libre en la red utilizan CVS, lo cual es otro agregado, porque si ellos lo usan, entonces será un proyecto en progreso. También, usted puede bajar documentos utilizando cvs a lo largo de Internet. Bajé todos los howtos (cómos) en formato sgml desde el Proyecto de Documentación de Linux (Linux Documentation Project) utilizando cvs a través de su servidor CVS anónimo. Esto es muy útil si usted quiere mantenerse actualizado en varias versiones de documentos.


Mark trabaja como un muchacho de computadoras en The Computer Underground y también en ZING y además en GNUJobs.com (pronto).


Copyright © 2000, Mark Nielsen
Publicado en la edición 57 de Linux Gazette, Septiembre del 2000