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.

4 comentarios:

Martin Edmundo dijo...

Hola David.

Ufff cuanto tiempo sin visitar, la vdd he andando con muchas cosas en la cabeza y rollos de existencia pero creo estar mejor.

Solo comentare algo al respecto, en la escuela deberian al menos dar a concer herramiestas de este tipo ya que todo el tiempo son trabajos colaborativos entre estudiantes. Herramietas muy buenas que al estudiante ayudarian mucho y q solo como persona autodidacta puedes conocer en ese contexto.

Por el resto pues no sabia que codinet tenia un svn server pero que bueno, seguro que los ayudara. Saludos a todos

David Estrada dijo...

Hola Martín. Jeje recuerdo todos esos proyectos que tuvimos que desarrollar en nuestra época de estudiantes; estoy de acuerdo con lo que dices, ojalá aunque sea nos hubieran dado alguna referencia de herramientas como esta que, sin duda alguna, nos hubieran facilitado el trabajo en equipo y ahorrado muuucho tiempo.

Saludos.

Selene dijo...

no entendí nada!!!!! aunque tampoco lo leí mucho XD porqué ya no te conectas eh?

Cantu dijo...

Hombre! que es esto? u.u yo me quede bieeeeeeeeen pero bien atras en todo lo que es programas y demases! explicame :(