Manejo de Repositorios CVS desde Eclipse

6
60532

Manejo de Repositorios CVS desde Eclipse

Este tutorial trata de introducir al lector en el manejo de las herramientas de Eclipse para conectarse y trabajar con un Repositorio CVS.

Introducción

Yo trabajo en Autentia una empresa donde todos colaboramos compartiendo nuestros conocimientos y nos esforzamos por hacer las cosas lo mejor posible. Para poder realizarlo necesitamos de un medio que nos permita un control y una forma de compartir el código fuente, los documentos, etc. relacionados con cada proyecto. Entre otros, uno de esos medios es un CVS.

En toda organización existen infinidad de documentos y recursos que son accedidos y modificados por distintas personas.

Centrándonos en el área del desarrollo de aplicaciones software, CVS nos proporciona un mecanismo de almacenamiento compartido de todos los elementos que componen una aplicación – Código fuente, documentación, ficheros de configuración, etc. – así como un histórico de las modificaciones que se han realizado sobre los mismos, de manera que las distintas personas que intervienen en el proyecto puedan estar al tanto de las modificaciones que se van realizando en el proyecto y puedan colaborar en el.

Las personas implicadas en el proyecto pueden realizar modificaciones sobre los recursos que componen el proyecto y el sistema CVS mantendrá un histórico de todas las modificaciones así como meta información de quién, cuando y porque se realizaron esas modificaciones permitiendo volver a cualquier versión previa si fuera necesario.

Además en toda organización coexisten distintas versiones de una aplicación adaptada para distintos clientes, con distintas funcionalidades. CVS nos facilita muchísimo la organización en estas situaciones.

Usando Eclipse para publicar (compartir) un proyecto en el Repositorio CVS

Si tenemos un proyecto que no existe en el Repositorio CVS y deseamos publicarlo para que otras personas puedan verlo y modificarlo debemos publicarlo en el repositorio.

Para poder realizar esta operación, los administradores de los repositorios CVS en donde se guardan los proyectos deben asignarnos privilegios para publicar nuevos proyectos. Por lo que esta operación sólo funcionará si tenemos tales privilegios.

Para realizar esta tarea debemos pulsar con el botón derecho sobre el proyecto que deseamos compartir en el repositorio, seleccionamos la opción Team y luego la opción Share Project


Imagen 1: Compartiendo el proyecto

Ahora Eclipse nos muestra una ventana en donde debemos especificar el Repositorio donde deseamos que se guarde nuestro proyecto.

Esta ventana nos pregunta si deseamos crear una nueva localización de un repositorio CVS o si deseamos usar los parámetros de conexión de una localización a un repositorio CVS que ya habíamos usado antes.

Para nuestro ejemplo, especificaremos una nueva.



Imagen 2: Localización del Repositorio CVS

Seguidamente Eclipse nos muestra otra ventana en donde nos pide que introduzcamos los parámetros de conexión al Repositorio CVS. Estos datos se guardarán y la siguiente vez que deseemos compartir un proyecto podemos usarlos y así ahorrarnos el paso que viene a continuación.

Este tutorial presupone que usted ya dispone de un Repositorio CVS montado o conoce los parámetros de conexión al Repositorio CVS de su organización.



Imagen 3: Parámetros de conexión al repositorio CVS

Normalmente y por defecto el Repositorio CVS está escuchando en el puerto 2401 y se usa el tipo de conexión pserver. (Password Server). La información intercambiada al utilizar este tipo de conexión (Más bien es un protocolo) viaja en texto claro, es decir sin ningún tipo de encriptación.

Si todos los parámetros de conexión son correctos, Eclipse nos mostrará la siguiente imagen en donde debemos especificar un nombre significativo que identifique el proyecto dentro del Repositorio CVS. Por defecto, Eclipse utiliza el nombre del proyecto.



Imagen 4: Nombre del proyecto dentro del repositorio CVS

Después eclipse nos mostrará otra ventana desde la cual debemos hacer commit para publicar los datos en el Repositorio CVS. Cada vez que publiquemos algo, debemos especificar un comentario descriptivo de las modificaciones que se han realizando. En nuestro caso, como es la primera vez que se publica el proyecto, podemos poner como comentario «Primera versión en el repositorio».



Imagen 5: Subir el proyecto al Repositorio CVS

Usando Eclipse para controlar los cambios

Cuando abrimos nuestro proyecto, si deseamos descargarnos las modificaciones que otras personas implicadas en el proyecto han realizado sobre el mismo podemos utilizar la operación Team > Update. Esta operación se basa en la versión de cada fichero para decidir si debe ser descargado o no.
Quiero resaltar que la mayoría de las operaciones CVS (Update, Commit, etc) pueden hacerse sobre un fichero en particular, o sobre un paquete o un proyecto entero.
Para ver las diferencias existente entre la información local y la información almacenada en el Repositorio CVS, podemos usar la operación Team > Synchronize with Repository. Esta operación nos abrirá una ventana en donde se visualizan de una forma muy representativa estas diferencias.

Por ejemplo, en la siguiente imagen se observa que:

  1. El fichero local (Local File) se ha creado una constante de clase que no existe en la última versión guardada del repositorio (Remote File)
  2. En la parte izquierda de la imagen la clase Message y su paquete, tienen el símbolo «>» que indica que hay modificaciones respecto a la versión almacenada en el repositorio.



Imagen 6: Conflictos entre nuestros ficheros y los ficheros del Repositorio CVS

Una vez que hemos resulto los posibles conflictos y deseamos subir los ficheros al repositorio para que el resto de las personas implicadas en el proyecto puedan ver nuestros avances. Esta operación se denomina Commit y se realiza mediante la operación Team > Commit. Siempre que subamos algo al repositorio CVS debemos escribir un comentario descriptivo de las modificaciones o avances que se han realizado.

Importación de un proyecto desde un Repositorio CVS

Cuando un proyecto está iniciado y publicado en un Repositorio CVS, podemos importarlo para verlo, modificarlo o colaborar en el desarrollo.

Para ello abrimos el Workspace en el que deseamos tenerlo y seleccionamos la opción File > Import o sacamos el menú contextual de la ventana Package Explorer y seleccionamos la opción Import



Imagen 7: Importación de recursos a nuestro WorkSpace

A continuación seleccionamos la opción Checkout Projects from CVS



Imagen 8: Importación de un proyecto desde un Repositorio CVS

Seguidamente Eclipse nos muestra una ventana en donde debemos indicar los parámetros de conexión al Repositorio CVS que contiene el proyecto que deseamos importarnos.

En nuestro caso utilizaremos unos parámetros de conexión ya existentes y ocultamos los parámetros por motivos de seguridad.



Imagen 9: Parámetros de conexión al Repositorio CVS

Seguidamente Eclipse nos pedirá que nos autentifiquemos ante el repositorio y si el proceso de autentificación es correcto, entonces Eclipse nos mostrará una ventana con el contenido del Repositorio CVS.

Por motivos de seguridad no mostramos el contenido del Repositorio al que nos hemos conectado.



Imagen 10: Listado de proyectos del Repositorio

Ahora debemos seleccionar el proyecto que deseamos importar a nuestro WorkSpace y pulsar en «Next».

Eclipse nos mostrará otra ventana en donde nos pedirá que le asignemos un nombre al proyecto dentro de nuestro Workspace. Por defecto, el proyecto tomará el nombre que tenía en el repositorio CVS.



Imagen 11: Destino del proyecto a importar

Ahora Eclipse nos brinda la oportunidad de seleccionar que versión del proyecto deseamos importarnos, que rama de desarrollo dentro del proyecto, etc.

Por ejemplo, podríamos descargarnos del Repositorio CVS el proyecto en la versión etiquetada como «Estable 1.0», o podríamos descargarnos una rama etiquetada como «Principal» y trabajar en esa rama, mientras otras personas del equipo de desarrollo de manera paralela trabajan en una nueva característica de la aplicación en otra rama, para posteriormente fusionar las dos ramas (Merge). Cuando se fusionan ramas, pueden existir conflictos, Eclipse nos mostrará una ventana similar a la mostrada en la Imagen 6.



Imagen 12: Versión del proyecto a descargar

Pulsamos en «Finish» y Eclipse importará el proyecto a nuestro Workspace.

Conclusiones

Eclipse no deja de sorprendernos a la comunidad de desarrolladores, además de ser una increíble plataforma de desarrollo de software con infinidad de Plugins gratuitos, trae de serie integrado un cliente CVS, por lo que aumenta aun mucho más su valor. Además Eclipse trae vistas (perspectivas) específicas para trabajar con Repositorios CVS. CVS Repository Exploring y Team Synchronizing perspective.

Es fácil y muy intuitivo de usar, podemos modificar, depurar y probar los proyectos antes de hacerlos públicos al resto de los miembros que intervienen en el proyecto.

Para terminar, decir que gracias a los repositorios CVS, podemos realizar copias de seguridad periódicas de una manera fácil, evitándonos desgraciadas sorpresas relacionadas con la perdida de código fuente.

Saludos,
Carlos García, creador de MobileTest

6 COMENTARIOS

  1. Buenos dias companero

    Me podrias orientar como realiar una copia de seguridad en eclipse?
    no encuentro como hacerlo

    te agradezco tu ayuda.

  2. Muy buen articulo, una consulta. Baje la version Mars de Eclipse pero esta no trae la perspectiva de CVS. tuve que volver a la ultima que la tiene que es la version Luna.
    Tu sabes algo al respecto.

    Agradeceria tu informacion.

    Saludos.

  3. Alguien sabe por que me sale este error al querer descargar unas de las versiones de mi proyecto en cvs … El error es: cvs [checkout aborted]: tag must not contain the characters `$,.:;@/’

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad