Configuración de CVS en Eclipse.

Eclipse viene con el plugin CVS incorporado, por lo que no deberemos instalar nada para comenzar a trabajar con CVS. Este post pretende ser una guía introductoria de cómo trabajar con Eclipse y CVS, cómo hacer checkout, subir ficheros al repositorio y actualizarlos.

Antes de esto, dos parámetros muy necesarios de configuración:

Para que se muestre la consola siempre que se ejecute un comando CVS, para poder comprobar si ha habido errores o no en la última operación:

cvs_console.png

Para que, cuando se realice un checkout, los ficheros se bajen en Read-Only, deberemos seleccionar la opción Configure projects to use Watch / Edit on Checkout como muestra la imagen.

cvs_edit.png

Muy importante para trabajo en grupo, configurando esta opción, Eclipse se encarga de realizar el edit los ficheros cuando los modificas. Además, el resto de los desarrolladores sabrán si el fichero está siendo o no modificado mediante la opción Team » Show Editors. Si el notify está activado, también se recibirán notificaciones vía mail.


Checkout

Primero necesitamos seleccionar la vista CVS Repository Exploring

cvs_repository_exploring.png

En la perspectiva CVS Repositories, con el botón derecho, New » Repository Location

cvs_new_repository_location.png

Para añadir el nuevo repositorio es necesario rellenar los siguientes campos:

Host (o dirección ip): Nombre del servidor
Repository path: Ruta del repositorio en el servidor
User: nombre de usuario
Password: contraseña
Connection Type: Protocolo de conexión, en este caso pserver

cvs_add_repository.png

Ahora ya podremos acceder a nuestro repositorio de CVS en el servidor y examinar los ficheros que hay en él:

cvs_repository_browsing.png
Es posible realizar el checkout de los ficheros / proyectos de muchas maneras, una de ellas es a través del explorador del repositorio de CVS, seleccionando la carpeta a bajar y con el botón derecho, Checkout As…

cvs_checkout_as.png

Nota: Otra forma de realizar Checkout es a través de la perspectiva PHP realizando un Import » Projects from CVS

Para realizar el checkout, necesitaremos un proyecto en Eclipse, bien uno ya existente, darle el nombre del directorio / proyecto de CVS al proyecto de Eclipse o ejecutar el New Project Wizard que nos permite modificar todo el proceso:

cvs_new_project_wizard.png

Ojo: Es conveniente utilizar el asistente, para tener un control total sobre dónde se bajan los ficheros y el nombre del proyecto, además nos permite vincular otros proyectos al actual.

Cualquiera que sea la opción elegida para realizar el checkout, deberemos elegir la rama de la que queremos bajar el fichero. Si estamos trabajando en proyectos pequeños / medianos o en entornos con relativamente pocos desarrolladores, lo más cómodo será utilizar directamente el HEAD (rama principal), ya que la gestión de las ramas requiere un conocimiento y control mucho más avanzado con CVS. Podéis encontrar una guía completísima en la ayuda online de Eclipse

Una vez ya descargado el proyecto / carpeta / ficheros con los que vamos a trabajar dentro de un proyecto de Eclipse, deberemos utilizar la perspectiva PHP, con la vista PHP Explorer o Navigator (hay pequeñas diferencias entre ambas, como que el PHP Explorer no muestra los ficheros ocultos y el Navigator sí lo hace)

cvs_php_explorer.png

Añadir proyectos completos al repositorio

Si estuvieramos trabajando con un proyecto desde 0 y quisieramos añadirlo completo al repositorio de CVS, deberemos, desde la perspectiva PHP Explorer o Navigator, seleccionar el proyecto y con el botón derecho, Team » Share Project y seleccionaremos el repositorio en el que queremos dar de alta el proyecto, también podríamos dar de alta un nuevo repositorio desde aquí, o crear una conexión un usuario diferente.

cvs_share_project.png

Después le asignamos el nombre al proyecto:

cvs_share_project_name.png

Y por último seleccionamos los ficheros que queremos que se suban, nos es posible discriminar ficheros desde aquí, añadiéndolos al .cvsignore utilizando diferentes criterios.

cvs_cvsignore.png

Ojo: Al añadir ficheros al .cvsignore, este fichero se crea en local y es muy conveniente que se añada también al repositorio, de esta forma si tenemos ficheros de caché, o el mismo metadato que utiliza Eclipse, cuando bajemos de nuevo el proyecto, no tendremos que quitarlos de nuevo, sino que ya se ignorarán por defecto.

Añadir nuevos ficheros a un proyecto

Si ya estamos trabajando con un proyecto en Eclipse vinculado a CVS, puede que sea necesario añadir ficheros o carpetas, para ello, los seleccionamos y después los agregamos al repositorio a través del menú Team » Add to Version Control

cvs_add_to_version_control.png

En la consola de CVS de Eclipse saldrá un mensaje parecido a este:

***
cvs add -kkv “/PruebaCVS/directorio/ficherodepruebas.php”
cvs add: scheduling file `directorio/ficherodepruebas.php’ for addition
cvs add: use `cvs commit’ to add this file permanently
ok (took 0:00.091)
***

Si modificamos un fichero, se indicará como > (modificado) y el paso final para subirlo al repositorio será igual que para añadirlo, tendremos que seleccionarlo y utilizar la opción Team » Commit donde deberemos escribir el mensaje que se guardará en el repositorio a modo de comentario de la modificación:

cvs_commit.png

Como apuntes finales, unas “recomendaciones” para trabajo en grupo:

Es conveniente saber quien está tocando cada fichero, por lo que el uso de Team » Edit (o dejar que Eclipse lo haga por tí con la configuración del principio del post)y activar las notificaciones a través del fichero notify del servidor CVS se hace bastante útil.

Los mensajes de commit muchas veces son la única información con la que se cuenta para tracear un proyecto sin investigar más profundamente, deben ser lo mas explicativos posible.

Es posible que sean necesarios otros programas con Cervisia o ViewVC para gestionar el repositorio de CVS, si no estais cómodos con el GUI que estáis usando, siempre podéis utilizar cvs desde la línea de comandos.

2 pensamientos en “Configuración de CVS en Eclipse.

  1. Hola..

    como se tiene que crear los usuarios para poder conectarse atravez de pserver..??

    Saludosss..!

  2. hola oye tengo un proble de que a la hora de que bajo mis archivos n muestra kien esta utilizando ese codigo???

    podrias decirme como lograr eso