16 de abril de 2009

Netbeans+svn

Les traigo otro borrador que ya estaba cansado de estar guardado esperando a ser publicado..

Esta vez voy a retomar un poco aquel tema del sistema para control de versiones, svn (subversion). La vez pasada hice una entrada a manera de introducción. Está vez voy a comentar sobre las facilidades que ofrece netbeans para el uso del subversion. Porqué netbeans? Porque es un ide de programación que desde hace tiempo ha ido ganando terreno en varios aspectos, en especial java, y que con su última versión 6.5 demuestra una vez más muchas facilidades. El manejo del svn en netbeans es muy sencillo. Lo primero que debemos hacer es configurar el repositorio y demás en el servidor. Una vez hecho esto, netbeans nos ayudará a realizar las funciones del cliente.

netbeanssvn

Si leyeron la información y el material que proporciono en la entrada introductiva, los pasos para la creación del repositorio, el acceso a los diferentes usuarios, el uso de comandos mediante el cliente y demás, no será problema. Desde hace algún tiempo que trabajo con netbeans + svn y puedo decir que es una práctica muy recomendable.

Para acceder al contenido de un repositorio svn desde netbeans, seleccionamos "versioning" desde la barra de menú, luego subversion -> checkout, al hacer esto, nos mandará a una ventana donde debemos ingresar los datos de nuestra cuenta para ingresar al contenido del repositorio.

checkout

Si todo está correcto, al pulsar en next, legaremos a un listado que nos muestra los directorios que forman parte del repositorio, tendremos que elegir la carpeta en donde guardaremos el contenido que descarguemos, esta carpeta será nuestra copia de trabajo, tal como si hubiéramos ejecutado el comando svn checkout. En mi caso, voy a obtener la carpeta pruebas junto con su contenido, el cual, será cargado por netbeans al tratarse de un proyecto creado con este IDE.

checkout folder
De aquí en adelante, todos los cambios que hagamos sobre el contenido ya descargado, serán marcados por netbeans en color azul y los archivos que agreguemos serán marcados de color verde. Los archivos que tengan conflicto de versiones, se mostrarán de color rojo.

Para subir los cambios que realizamos (svn commit) seleccionamos el archivo individual o la carpeta correspondiente y seleccionamos subversion -> commit del menú contextual.
Para actualizar nuestra copia local (svn update) seleccionamos update.

Si al momento de realizar el commit nos encontramos con que alguien más ya realizó y subió cambios en algún archivo, no podremos realizar la acción debido a que contamos con una copia desactualizada, para obtener los cambios debemos realizar un update al archivo, si las 2 copias (local y remota) son capaces de convivir juntas podremos realizar el commit sin problemas; en caso contrario veremos que se agregaron marcas de color rojo para las líneas que están en conflicto.
Para solucionar este problema, netbeans nos muestra una pantalla con los cambios remotos y locales dándonos la posibilidad de seleccionar cuáles se quedan y cuáles se van para formar una "mezcla" de las 2 versiones y realizar el commit de esta misma, la cual contendrá nuestros cambios y los que hayan sido realizados de forma remota. Para acceder a dicha pantalla, seleccionamos resolve conflicts del menú contextual.

Estas son algunas de las funciones principales de netbeans para controlar versiones con svn, también nos permite ver un historial de cambios o realizar una comparativa de entre la copia local y la remota. No queda más que hacer uso de esta herramienta y verificar por nosotros mismos. Han utilizado control de versiones junto con algún otro IDE?

Saludos.