[Care2x-general] CVS

Alejandro de Garate alejandro_degarate en yahoo.com
Dom Dic 5 16:23:43 CET 2004


>Por segunda vez: es mucho pedir que alguien explique como es el tema
>del cvs?



Mini... No,
Micro... humm no,
mejor

Pico tutorial de CVS
=====================

Que significa CVS ?
-------------------
Es un sistema de control de versiones. Es la abreviatura de Concurrent
Version System.


Que es un CVS ?
---------------
El CVS es un sistema el cual lleva la historia de un proyecto en 
terminos de una serie de cambios.
Habitualmente un proyecto esta compuesto por una serie de directorios
tal como se ven en el disco rigido de la maquina.
Dentro de esos directorios hay codigo fuente razon por la cual se lo 
llama "source tree", aunque el termino quizas mas usado sea el de 
"repositorio". Este repositorio esta alojado en un servidor que 
otorga de esta forma un area de trabajo compartida.

Esos directorios tambien pueden contener documentos (txt, html, etc.) 
u otros archivos.

El CVS le estampa a cada archivo que es cambiado la fecha y hora en que
fue hecho y el nombre del usuario que hizo el cambio.
Habitualmente el desarrollador provee un breve texto describiendo el 
por que de ese cambio.
Ese breve texto, el nombre del archivo, fecha, hora y nombre del
usuario
son guardados automaticamente en un archivo que hace de resumen 
denominado ChangeLog.

Hasta aca pareceria que no es nada del otro mundo...

Sin embargo tiene muchas mas ventajas dificil de explicar aqui, pero 
algunas son:

El sistema le asigna a cada archivo en forma independiente un numero de
version por ejemplo: 0.1, 0.11, 0.12, etc. 
Esto es muy util porque muchas veces un bug no es detectado hasta mucho
tiempo despues de hecha la modificacion. Con el CVS se puede facilmente
volver a cualquier version anterior de ese archivo, para ver cual
cambio
causo el error.

Uno podria decir: bueno pero yo puedo guardar cada version de cada 
archivo que he creado/modificado. Pero esto desperdicia una enorme 
cantidad de espacio en el disco. El CVS guarda todas las versiones de 
un archivo en una forma muy astuta, de tal modo que solo almacena las 
diferencias entre versiones.
Y para un desarrollador ya ver eso!, es una gran ayuda.  


Cuales son los modos de operar un CVS ?
---------------------------------------
Hay dos formas: 
modo anonimo y modo desarrollador.
Ambos pueden bajar el contenido del CVS pero solo el modo desarrollador
puede efectuar cambios. 
Adicionalmente hay uno o varios administradores del CVS con mas
derechos de acceso que un simple desarrollador.


Que necesito para usar el CVS ?
-------------------------------
Un programa que le permite conectar su maquina con el repositorio
central
usando internet. Para ello usa un protocolo denominado SSH (Secure
SHell)
que encripta el intercambio de informacion.
Ademas si se va a contribuir con documentacion, codigo fuente etc. es
necesario un status minimo de desarrollador.
Este programa cliente baja y sube archivos y los mantiene sincronizados
entre el repositorio central y los repositorios que cada desarrollador
o tester tiene en su maquina (uno puede bajar los cambios a su maquina
nada mas que para probarlo / usarlo ).


Como se accede al CVS ?
----------------------
Se accede usando usando un programa a traves de un proceso de Login 
con nombre de usuario y password se suben/bajan modificaciones y se
hace un Logout.


Como funciona un CVS ?
----------------------
Suponemos que Ud. tiene todo lo necesario para empezar usar un CVS:
cliente CVS para su sistema operativo, derechos de usuario, y algunos
seteos sencillos, etc., etc.

Inicialmente uno lo que hace es hacer una copia del repositorio central
a su maquina para empezar a trabajar. Esto se hace solo una vez.

Antes de efectuar ningun cambio se debe ejecutar un comando que baja a 
su maquina las ultimas modificaciones existentes en el repositorio (lo
que simplifica el proceso). Solo se bajan los archivos que sean 
distintos a las copias locales.
Uno efectua los cambios necesarios y envia los archivos agregados,
modificados, etc.
Si en el interin alguien modifico el mismo archivo de trabajo, el CVS 
se ocupa de mezclar los cambios realizados. Aunque a alguien lo parezca
raro esto funciona muy bien y en los rarisimos casos donde hay
conflictos
el sistema tiene procedimientos para solucionarlo facilmente.

Para algunos escepticos...
Les digo que cualquier pregunta que se puedan hacer (como me las hice
yo en su momento) ya tiene respuesta y esta en los manuales de CVS.

Resumiendo...
El CVS me permite saber:
- Quien hizo el cambio ?
- Cuando fue hecho ?
- Porque se hizo el cambio ?
- Que otros cambios fueron hechos al mismo tiempo ?


Donde obtengo mas informacion sobre CVS ?
-----------------------------------------

En mi sitio de Geocities hay dos buenos documentos pero estan en
ingles.

http://www.geocities.com/SiliconValley/Board/5300/faq/es_harbour-3.htm#ss3.5


Para el que quiera ver como es un CVS "en directo" aca hay un link al
CVS del Care2x central.

http://cvs.sourceforge.net/viewcvs.py/care2002/Care2002/

---

Alejandro
 



	
		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail



Más información sobre la lista de distribución Care2x-general