CVS ( Concurrent Versioning System) es una aplicación muy útil que implementa un sistema de control de versiones, guardando copias de seguridad de el código fuente de un programa. El control de versiones es MUY útil o incluso necesario para proyectos de gran tamaño, nos permite elegir cuando guardar la copia de seguridad de cualquier fichero, o de un conjunto de ficheros, de tal manera que si en algún momento nuestro programa se vuelve loco y no conocemos el motivo, solo tendríamos que restaurar una versión anterior de un archivo completo, o solo una parte.
Además el CVS no guarda los archivos fuente completos cada vez que se almacena una versión sino que guarda únicamente las lineas que se modifican en el programa, de esta forma el espacio de almacenamiento del repositorio es mínimo.
El entorno de programación Eclipse incorpora este sistema CVS, y en este post nos vamos a centrar en configurarlo y utilizarlo para un proyecto en Java.
Para empezar tendremos que crear la carpeta donde vamos a guardar nuestro repositorio, por ejemplo:
/home/rephus/cvsprueba
Luego tenemos que crear la carpeta CVSROOT , es una carpeta necesaria que almacena metadatos del repositorio , podeis hacerlo de varias maneras, o seguiis los pasos indicados abajo de como crearla, o podeis bajaros directamente la carpeta desde Aqui y ahorraros ejecutar comandos en consola.
Si quereis crearosla vosotros mismos:
empezamos creando una variable de entorno para cvs no es más que una variable que indica el path, para hacerlo desde un sistema Linux bastará con abrir una consola y escribir
export CVSROOT=/home/rephus/cvsprueba
Luego creais la carpeta con todos los archivos ejecutando en consola
cvs init
Si preferiis descargarla y copiarla
Descomprimir el archivo y copiar la carpeta CVSROOT a la carpeta donde almacenareis vuestro cvs.
Ahora deberíais tener dentro de vuestra carpeta cvs (/home/rephus/cvsprueba) una carpeta CVSROOT (/home/rephus/cvsprueba/CVSROOT) llena de archivos en blanco.
A partir de aquí, solo tendremos que utilizar el Eclipse, y elegir el proyecto que queramos que utilice el repositorio.


El primer paso es irnos al apartado de CVS de Eclipse, para eso cambiamos la vista (se encuentra en la esquina superior derecha de Eclipse (si no lo veis tendreis que darle al desplegable “>>” o agrandar un poco la pestaña ) )
Vista>CVS Repository Exploring Perspective

Ahora se verán todos los repositorios CVS, si no teneis ninguno la ventana aparecerá en blanco

Para añadir un nuevo repositorio CVS hacemos click derecho en la ventana de CVS Repositories
Click Derecho > New > Repository Location…
Ahora se nos abrirá una ventana nueva donde tendremos que configurar las características de nuestro repositorio, se nos permite desde alojarlo en un servidor, de forma local, con password, etc.
En este caso , para configurar el repositorio de forma local, ya sea en la misma partición o en otra diferente del disco (la ruta se establecerá a continuación) configurar de la siguiente manera (especialmente al host y a connection type)

host : localhost
repository path : <Path> (ejemplo: /media/comun/cvs )
user : <Usuario>
password :
connection type: extssh
x use default port
x save password
Os pedirá insertar un password para la conexión, y ese password lo tendreis que introducir cada vez que useis el CVS por sesión (es decir, solo tendreis que introducirlo una vez cada vez que abriis el Eclipse hasta que lo cerrais otra vez)
Si os diese error CVSROOT es que no teneis la carpeta con los archivos correspondientes en su correcto sitio o no habeis seleccionado el path correctamente

Volvemos a la vista de Java, hacemos doble click en el proyecto al que queramos aplicar el repositorio CVS
Click derecho en proyecto > Team > Share Project
Se nos abrirá una ventana para asociar el repositorio, en la primera ventana seleccionamos < Use existing repository location> y elegimos el repositorio que acabamos de crear

Podemos asignarle otro nombre al modulo, pero lo dejaremos como esta <Use project name as module name> y continuamos


Una vez finalizado el proceso nos saltará una ventana para guardar la primera versión del proyecto (que incluye una copia de todos los archivos). En la parte de arriba podemos incluir un mensaje que nos sirva para describir el estado del programa en ese momento.

Ya tendremos nuestro repositorio creado. Fijaos que se puede distinguir a unos proyectos con CVS de unos sin CVS por el pequeño cilindro amarillo abajo a la derecha de cada icono del proyecto.

Para utilizar toda la funcionalidad que CVS nos ofrece tendremos que hacer click derecho en el proyecto (u archivo independiente ). De entre las funciones más interesantes está
Click derecho (en archivo o proyecto) > Team > Commit
(guarda una nueva versión del archivo o proyecto en cuestión )
Click derecho > Compare With > Latest from Head /Another branch
(Nos permite comparar las diferencias de nuestro código al de una versión anterior (es necesario tener más de una versión almacenada) )
Click derecho > Replace With > Latest from Head /Another branch
(Nos reemplaza todo el código al de otra versión (sería recomendable guardar una versión antes, y sustituir después) )
Click derecho (Proyecto) > Team > Tag as Version
(Nos crea una compilación indicando la versión de cada archivo incluido en el proyecto)
Tags: copia, cvs, CVSROOT, eclipse, java, linux, local, multiplataforma, ssh, tutorial, version