CVS: primeros pasos

03.sep 2007 Envía un trackback

Hay quien dice que el uso de un servidor de versiones cuando el número de desarrolladores tiende a uno es injustificado, es posible que tengan razón pero llevo algunos años con la doble tarea -programar y versionar- y creo adecuado delegar responsabilidades en algo más fiable que yo.

Así que he tomado la decisión de probar CVS. Antes de ir corriendo a por unos algodones para los oidos intentaré explicar el motivo de usar estas siglas y no otras. Lo primero que se me ocurre es que OpenBSD lo trae de serie. ¡Correcto! la máquina que versionará mi código fuente es un pez globo. Entiendo que pueda parecer demasiado cómodo, pero para no haber usado nunca un sistema de control de versiones y poder evaluar la utilidad del mismo es más que suficiente.

A diferencia de casi cualquier otro software servidor, no ha sido doloroso ponerlo en funcionamiento, tres sencillas órdenes. Primero creamos el directorio donde irán nuestros módulos (proyectos), lo acomodamos con permisos generosos e iniciamos el repositorio:
# mkdir /home/cvs
# chown -R cvs:cvs /home/cvs
# cvs -d /home/cvs init
Del lado del cliente el asunto tampoco se complica en exceso siguiendo una cierta lógica. Las variables de sesión son indispensables para un uso correcto así que primero exportamos el directorio de trabajo del servidor y luego obligamos a CVS a conectrase mediante ssh:
# export CVSROOT=:ext:cvs@servidor:/home/cvs/
# export CVS_RSH=/usr/bin/ssh
Ahora tendríamos que hacer el commit inicial del código fuente, base del proyecto sobre el que trabajaremos, para ello y dentro del directorio donde tengamos el código haremos:
# cvs import -m "Commit Inicial" proyecto1 cvs start
Automáticamente se conecta a cvs@servidor y sube a /home/cvs/proyecto1/ la primera revisión de código fuente. Una vez hecho ésto debemos borrar (o cambiar de ubicación) el fuente del lado cliente para bajar la versión ya versionada -valga la redundancia- que acabamos de subir:
# cvs co proyecto1
Sencillo pero algo lioso, a partir de aquí ya podemos editar y trabajar en cliente para commitear los cambios sin temor:
# cvs ci proyecto1
Log message unchanged or not specified
Checking in cake/app/app_controller.php;
/home/cvs/cake/app/app_controller.php,v  <--  app_controller.php
new revision: 1.2; previous revision: 1.1
done
#
Referencias:
bsd openbsd

Comentarios
Gravatar Wu@05.09.2007, 'Re: CVS: primeros pasos'

CVS rlzzz, y cuando mas uso subversion, mas me acuerdo de lo bueno que es cvs...

por cierto, como anotacion, cuando haces el cvs -d /dondesea init, no estas lanzando ningun servicio, estas simplemente creando el repositorio donde almacenaras todas las cosas. Te lo digo por que tal y como lo usas, por SSH, no necesitas servicio, si usases pserver (el metodo de autenticacion genuino de cvs) si tendrias un daemon y toda la pesca.

Wu, por un mundo mejor, un mundo sin captchas!

Gravatar r0sk@05.09.2007, 'Re: CVS: primeros pasos'

No he probado SVN todavía, imagino que tendrá considerables mejoras sobre CVS pero para empezar a trabajar con este tipo de sistemas y acostumbrarse a su uso imagino que ambos sirven.

Anotado y rectificado lo del servicio, entiendo que a través de SSH lo único que hace es comparación de ficheros, logs y poco más.

r0sk, por un mundo mejor, un mundo sin SPAM!

Gravatar Jijes@06.09.2007, ' CVS'

Si deseo compartir un proyecto en CVS, como hago o donde busco quien o quienes estan disponibles para dejar subir este archivo a un servidor para empezar a versionarlo.

Gravatar Franco Iacomella@11.09.2007, 'Re: CVS: primeros pasos'

Aprovecho para dejarles un libro recopilacion que hice sobre CVS: http://francoiacomella.org/blog/?p=41

Un saludo


Escribe tu comentario
 
 
Guardar datos
Escribe tu comentario:
captcha


Intenta que tu comentario sea interesante y con información relevante al tema de la entrada. BBCodes disponibles: [url=http://direccion]texto[/url], negrita: [b]texto[/b], itálica: [i]texto[/i], subrayada: [u]texto[/u]. Para mencionar o citar a alguien (quote): [cita]texto[/cita]