CVS: primeros pasos - Userlinux.net

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…

CVS: primeros pasos

r0sk 03.Sep.2007 4 Comentarios 1470 Lecturas
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:
Categorías: sistemas
Tags: bsd openbsd cvs

Comentarios


gravatar
05.Sep.2007
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
05.Sep.2007
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.Sep.2007
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
11.Sep.2007
Aprovecho para dejarles un libro recopilacion que hice sobre CVS: http://francoiacomella.org/blog/?p=41

Un saludo

Escribe un comentario

Nick
Email
URL

Buscar

Cargando...

Categorías

Últimos comentarios

  • BartlettLilly20
  • r0sk
  • coder
  • argordmel
  • uveic
  • MarcosBL
  • quemada
  • alexander
  • Hakky111
  • tramel
  • hoyadas
  • hoyadas
  • hoyadas
  • Anubys
  • Arturo

Tagcloud

lugo freebsd seguridad futbol iphone mysql champions userlinux alemania_2006 copa bsd cakephp rfilms deportes meme blogs conciertos bake debian macosx apple humor programación música games 2008 beers tip lucux cake sysadmin ssh ibook films cumpleaños bash league barça soccer mundial frases opinion felicidades hack php juegos cms personal 2007 ubuntu ds mac sidenotes openbsd linux blogsfera rsidenotes blog nintendo san_froilan

Archivo

Social

Twitter

Enlaces

Enlaces de interés