CVS en Windows en menos de 10 minutos
¿Alguna vez has hecho alguna modificación a un programa para mejorarlo, la has “cagado” y, a falta de un backup, has perdido la versión original sin posibilidad de recuperarla? En ese caso (y en muchos otros) te hubiera resultado muy interesante disponer de una herramienta como CVS.
Con CVS (Concurrent Version System - sistema de control de versiones) puedes ir haciendo un registro de los cambios realizados en un programa en desarrollo y recuperar una versión determinada en cualquier momento. Funciona con una arquitectura cliente-servidor, en este caso hay un servidor CVS (que puede estar en tu ordenador o en cualquier otro) al que te conectas con el cliente CVS.
Instalación del servidor y el cliente CVS en Windows
Como primer paso descárgate el servidor CVS desde CVSNT. Se recomienda descargarse la versión estable (Latest stable release). Selecciona Windows MSI install (.msi) -> CVS Server and Client.
Cuando lo tengas descargado instálalo haciendo doble click en el fichero. (Click, click, click y listo). Probablemente tengas que reiniciar el ordenador (snif).
Entra en el panel de control y haz click sobre el icono del servidor CVS:

Ahora vamos a definir dónde se va a encontrar el repositorio ([1], [2]), en inglés “repository”, que es el lugar donde se van a guardar las distintas versiones de nuestros programas.
Entra en la pestaña “Repository configuration”, y haz click en el botón “add”. En la ventana Server Settings elige el directorio donde quieres que esté el repositio. Puedes marcar la pestaña “default repository” si quieres que sea utilizado por defecto. Para el ejemplo vamos a crearlo en “c:\micvs”.
Vamos a crear un proyecto nuevo
Ya tenemos instalado el servidor y vamos a empezar a trabajar con el cliente.
1) Abrimos una consola (o lÃnea de comando, ya sabes: Inicio->ejecutar->cmd).
2) Indicamos al cliente dónde está el repositorio:
set cvsroot=c:\micvs
3) Ahora tenemos que indicar al CVS que queremos crear un nuevo proyecto. Vamos al directorio donde está nuestro proyecto, por ejemplo c:\misprogramas\miproyecto y tecleamos en la consola:
cvs import -m "Creación del proyecto" miproyecto usuario start
-m “creación del proyecto”: cada ver que enviamos una actualización al CVS o creamos un nuevo proyecto podemos añadir un mensaje, como por ejemplo “Creación del proyecto”. Es muy útil para tener una idea general de qué cambios se han hecho. Si no ponemos este parámeto se abrirá un editor de texto (probablemente el notepad) y nos pedirá que escirbamos un mensaje.
miproyecto: es el nombre del proyecto. Este nombre nos permitirá acceder a los ficheros que hemos enviado al repositorio más adelante.
“usuario” y “start” no se usan habitualmente, asà que por ahora no te preocupes por ellos.
Con esto ya tenemos nuestra primera versión del proyecto guardada en el repositorio. Puedes teclear:
cvs ls
para listar el contenido del repositorio, verás que hay dos directorios, uno llamado “CVSROOT” y otro “miproyecto”.
Estos pasos sólo hay que hacerlos cada vez que creamos un proyecto nuevo.
Y ahora vamos a rescatar la primera copia del repositorio
Antes de hacer nada más tenemos que actualizar el proyecto con el contenido del CVS, para eso teclearemos desde c:\misprogramas:
cvs checkout miproyecto
Y nos actualizará el contenido del directorio “miproyecto” con el contenido del repositorio.
Enviar modificaciones al repositorio
Ya podemos empezar a trabajar con nuestro programa. Para este paso se requiere:
- Paciencia.
- Algo de comer o beber (vigila un poco esa alimentación).
- Cierta habilidad como programador (aunque parece que cada dÃa es menos necesario :P).
Una vez estés satisfecho con tu trabajo puedes enviar los cambios al repositorio. Entra en la carpeta c:\misprogramas\miproyecto y teclea:
cvs commit -m "Sólo un par de tonterÃas en 6 horas de trabajo"
Este comando comprobará todos los ficheros del proyecto y, si alguno ha sido modificado, lo enviará al repositorio sin sobreescribir las versiones anteriores.
Si sólo quieres enviar un fichero determinado puedes hacer por ejemplo:
cvs commit -m "Sólo he cambiado un par de tonterÃas" fichero.c
Al enviar un fichero al repositorio se crea una nueva revisión del mismo. La primera vez que enviamos un fichero (con el comando import) se crea la revisión 1.0. Si hacemos cambios en el fichero y lo volvemos a enviar se creará la revisión 1.1, la segunda vez que lo enviemos será la 1.2.
Y otro dÃa veremos cómo trabajar con el Tortoise CVS, que es un cliente CVS muy cómodo y sencillo de usar.
¿Y ahora?
Ahora llega la parte difÃcil, busca información más completa en Google sobre CVS, desespérate conociendo la herramienta (como cada vez que aprendes algo nuevo) y disfruta de sus ventajas una vez la domines.
Clientes de CVS
Tortoise CVS - Un cliente de CVS muy cómodo y sencillo de utilizar que se integra en el explorador de Windows y se usa desde los menús contextuales del botón derecho del ratón.
WinCVS - Un cliente más completo que TortoiseCVS (y en el que se basó originalmente).
Otras alternativas al CVS
Subversion
Bitkeeper - No es GPL aunque se usa en bastantes proyectos de software libre.
OpenCM
Aclaración importante: el tÃtulo reza “en menos de 10 minutos”. Para esta afirmación parto de las siguientes hipótesis: un nivel de lectura normal y una conexión a Internet suficientemente buena como para descargar CVSNT rápidamente.


Abril 25th, 2006 at 8:36 pm
Buen artÃculo, a ver si le saco provecho, y subo unos archivos al CVS, que no me resultó fácil cuando lo intenté.
Mayo 11th, 2006 at 9:58 pm
muy buen articulo, se agradece y a provar en un instante
Junio 30th, 2006 at 10:53 am
muy buen articulo lo tendre en cuenta y lo recomendare asi como a esta pagina. . .
Septiembre 20th, 2006 at 3:19 am
muy buen articulo me intereso mucho y parece sencillo
Octubre 25th, 2006 at 1:22 am
Cómo me conecto a un repositorio que está en la universidad desde mi casa?.
que datos necesito?.
ellos usans frecuentemente CVS, pero en linux y mac, y yo lo uso en WINxpHOME.
HELP!!!!
Octubre 29th, 2006 at 1:40 pm
Muy buen artÃculo, felicidades
Diciembre 7th, 2007 at 12:00 am
Los principios son duros, pero con artÃculos como este se vislumbra la luz aún al comienzo del tunel. ¡Gracias!