Drancer
21-ago-2006, 05:24
CVS es el sistema de versiones más usado por los proyectos open source para gestionar el desarrollo de un producto. No sólo permite obtener a los desarrolladores árboles de directorios que contienen el código o los documentos con un control de quién modificó qué y a qué hora, sino que permite evitar que se suban cambios al arból de desarrollo si estos entran en conflicto(es decir, hacer cambios sin permiso o indebidos algun archivo o documento)........
El Uso de CVS
Para conectar con un servidor cvs y trabajar con él necesitamos una cuenta que probablemente tengamos que pedir(o ganárnosla), pero a menudo se puede entrar con un login que nos indican en la web del proyecto o programa.
Para conectar primero tenemos que abrir una sesión con el servidor cvs y establecer el repositorio de código en el servidor en el que vamos a trabajar. Si tenemos un usuario DavidFM que quiere acceder al proyecto situado en el directorio cvs del servidor cvs.dev.java.net ejecutaríamos:
cvs -d :pserver:DavidFM@cvs.net:/cvs login
Nos pedirá el usuario y la contraseña y si nos logeamos con éxito nos devolverá al prompt de bash. Si no queremos especificar la ráiz cada vez que queramos establecer una sesión podemos exportar el valor en la variable de entorno CVSROOT.
export CVSROOT=":pserver:drancer@cvs.net:/cvs"
Algunos servidores permiten el login anónimo, para eso usamos el usuario anonCVS(o el que nos digan puede ser guest etc..)
cvs -d :pserver:anonCVS@CVS.projectname.domain.com:/home/main_CVS_dir
Si no cambiamos de ráiz cvs a revisar, no hace falta meter otra vez la contraseña, porque se almacena un hash en un archivo -cvspass que lee el servidor.
Ver proyecto
Para recibir todos el árbol del proyecto en el servidor cvs escribimos
cvs -d :pserver:drancer@cvs.net:/cvs checkout lg3d-core
Se creará un carpeta(en este caso lg3d-core) con los archivos bajados del servidor si ésta no existe, si existe se actualizará el contenido. Si el servidor cvs soporta conexiones cifradas con SSL, podemos conectar con rsh o ssh, seleccionando el cliente a usar por cvs con la variable de entorno CVS_RSH....
export CVS_RSH=rsh
y sustituyendo el valor pserver por ext en la cadena de conexión
cvs -d :ext:DavidFM@cvs.net:/cvs checkout lg3d-core
o
cvs checkout log3d-core
si hemos definido nuestro CVSROOT como variable.
Crear un proyecto
Si queremos crear un nuevo proyecto(si tenemos permiso para ello) en el servidor ejecutamos el comando import con esta sintaxis
cvs import -m "Mensaje" project vendor release
Donde con la opción -m indicamos un mensaje que añadiremos al proyecto , con el nombre project especificaremos el nombre del proyecto y con vendor y release especificaremos por ejemplo nuestro nombre y un número de versión. La salida de cvs import nos mostrará los archivos que se suben(N) o actualizan(U) y si se ha creado un conflicto , en ese caso tendremos que volver a sincronizar el arból cvs e intentar aplicar nuestros cambios.
Mandar cambios
Para mandar al servidor las modificaciones que hemos hecho en la carpeta que tenemos sincronizada con el servidor utiliamos el comando commit
cvs commit -m "Mensaje asociado al cambio"
Si no se crea un conflicto con alguna parte modificada antes por otro usuario del servidor cvs nuestros cambios se incluirán en el árbol del servidor. También podemos especificar que archivos queremos subir al servidor
cvs commit -m "Mensaje asociado al cambio" archivo.c archivo2.txt
Ver cambios
Con el comando cvs update podemos actualizar los que cambios realizados en el repositorio, incluído el directorio en nuestro pc(los archivos se marcarán con una M, se han realizado cambios pero no se han mandado al repositorio).
Si se prefiere una salida en formato diff de los cambios se puede usar el comando diff
cvs -Q diff
CVS es mucho más complejo que esto, pero espero que esto les sirva de introducción para al sistema CVS y a contribuir en algún proyecto de código abierto.
El Uso de CVS
Para conectar con un servidor cvs y trabajar con él necesitamos una cuenta que probablemente tengamos que pedir(o ganárnosla), pero a menudo se puede entrar con un login que nos indican en la web del proyecto o programa.
Para conectar primero tenemos que abrir una sesión con el servidor cvs y establecer el repositorio de código en el servidor en el que vamos a trabajar. Si tenemos un usuario DavidFM que quiere acceder al proyecto situado en el directorio cvs del servidor cvs.dev.java.net ejecutaríamos:
cvs -d :pserver:DavidFM@cvs.net:/cvs login
Nos pedirá el usuario y la contraseña y si nos logeamos con éxito nos devolverá al prompt de bash. Si no queremos especificar la ráiz cada vez que queramos establecer una sesión podemos exportar el valor en la variable de entorno CVSROOT.
export CVSROOT=":pserver:drancer@cvs.net:/cvs"
Algunos servidores permiten el login anónimo, para eso usamos el usuario anonCVS(o el que nos digan puede ser guest etc..)
cvs -d :pserver:anonCVS@CVS.projectname.domain.com:/home/main_CVS_dir
Si no cambiamos de ráiz cvs a revisar, no hace falta meter otra vez la contraseña, porque se almacena un hash en un archivo -cvspass que lee el servidor.
Ver proyecto
Para recibir todos el árbol del proyecto en el servidor cvs escribimos
cvs -d :pserver:drancer@cvs.net:/cvs checkout lg3d-core
Se creará un carpeta(en este caso lg3d-core) con los archivos bajados del servidor si ésta no existe, si existe se actualizará el contenido. Si el servidor cvs soporta conexiones cifradas con SSL, podemos conectar con rsh o ssh, seleccionando el cliente a usar por cvs con la variable de entorno CVS_RSH....
export CVS_RSH=rsh
y sustituyendo el valor pserver por ext en la cadena de conexión
cvs -d :ext:DavidFM@cvs.net:/cvs checkout lg3d-core
o
cvs checkout log3d-core
si hemos definido nuestro CVSROOT como variable.
Crear un proyecto
Si queremos crear un nuevo proyecto(si tenemos permiso para ello) en el servidor ejecutamos el comando import con esta sintaxis
cvs import -m "Mensaje" project vendor release
Donde con la opción -m indicamos un mensaje que añadiremos al proyecto , con el nombre project especificaremos el nombre del proyecto y con vendor y release especificaremos por ejemplo nuestro nombre y un número de versión. La salida de cvs import nos mostrará los archivos que se suben(N) o actualizan(U) y si se ha creado un conflicto , en ese caso tendremos que volver a sincronizar el arból cvs e intentar aplicar nuestros cambios.
Mandar cambios
Para mandar al servidor las modificaciones que hemos hecho en la carpeta que tenemos sincronizada con el servidor utiliamos el comando commit
cvs commit -m "Mensaje asociado al cambio"
Si no se crea un conflicto con alguna parte modificada antes por otro usuario del servidor cvs nuestros cambios se incluirán en el árbol del servidor. También podemos especificar que archivos queremos subir al servidor
cvs commit -m "Mensaje asociado al cambio" archivo.c archivo2.txt
Ver cambios
Con el comando cvs update podemos actualizar los que cambios realizados en el repositorio, incluído el directorio en nuestro pc(los archivos se marcarán con una M, se han realizado cambios pero no se han mandado al repositorio).
Si se prefiere una salida en formato diff de los cambios se puede usar el comando diff
cvs -Q diff
CVS es mucho más complejo que esto, pero espero que esto les sirva de introducción para al sistema CVS y a contribuir en algún proyecto de código abierto.