Subversion en Ubuntu (y GNOME) – AKA: Subversion for dummies

Subversion en Ubuntu (y GNOME) | AKA - Subversion for dummies

Complejidad del artículo: Intermedio

Hace un tiempo atrás me sume a un proyecto y me indicaron que para participar tenía que usar subversion. Ya sabía más o menos para que se usaba; de hecho, si te das una vuelta por proyectos open source lo vas a ver con mucha frecuencia… pero el problema es que no tenía la mínima idea de como utilizar esta herramienta.

Subversion es lo que se llama un sistema de control de versiones centralizado (como CVS). Esto se usa con muchísima frecuencia en la industria del software, por ello mi mención respecto a los proyectos open source. Su uso -tal como su nombre lo indica- es para ir controlando las distintas versiones del código fuente. Para explicarlo de manera sencilla digamos que hay un repositorio que tiene el código de una aplicación X y 3 miembros (A, B y C).

En una primera instancia los 3 miembros descargan el código fuente y “A” modifica un archivo y luego lo sube al servidor. Así, en el servidor tendremos lo que se llama una nueva revisión del proyecto. El miembro B “actualiza” y se le indica que hay un archivo que ha sido modificado y se descarga en su equipo. Le parece bien el cambio, pero le hace un arreglo y edita otro archivo y luego actualiza la versión del servidor. Un rato después el último miembro actualiza el proyecto y se encuentra con 2 nuevos archivos que han sido modificados.

Subversion en Ubuntu (y GNOME) | AKA - Subversion for dummies

Así cada miembro del proyecto puede acceder cada vez que va a trabajar a los cambios que han hecho los demás. Gracias a este tipo de sistemas es como se han podido llevar a cabo tantos proyectos y como ven, hace posible trabajar en un gran proyecto sin salir de tu casa ni tener que verle la cara a tus horribles compañeros.

Eché de menos algún tutorial sobre como utilizar sus opciones básicas como descargar, subir y actualizar la versión de tu equipo. Por supuesto puede llevarse a cabo desde la línea de comandos o con alguna aplicación gráfica.

1.Manos a la obra

Si queremos llegar a alguna parte primero necesitamos descargar la herramienta. Como es habitual, podemos encontrarla en los repositorios con el nombre de subversion.

  • Sistema > Administración > Gestor de paquetes Synaptic
  • Buscamos subversion y lo instalamos

O lo instalamos de manera fácil:

sudo apt-get install subversion

Con esto ya tenemos suficiente y podemos empezar con nuestros aportes, pero también puedes utilizar algún cliente gráfico para simplificar un poco tu vida.

2.Conceptos

Para utilizar las funciones básicas de Subversion tenemos que manejar algunos conceptos:

  • Repositorio: Lugar de la red donde se almacena el código fuente del proyecto
  • Check-out (co): Descargar el código fuente desde el repositorio
  • Check-in o commit (ci): Subir los archivos modificados al repositorio
  • Update (up): Comparar el código de mi equipo con el del repositorio y descargar sólo las modificaciones

3.Clientes gráficos

Existen muchos cliente -para todos los gustos- integrados en algún IDE, que se integran con el administrador de archivos como Nautilus (GNOME) y Konqueror/Dolphin (KDE), simples y avanzados, con licencias libres y propietarias…. en fin, para todos los gustos. Personalmente prefiero los que se integran con el administrador de archivos, ya que son muy cómodos para inicialmente hacer el check-out del servidor, buscar el archivo que nos interesa modificar y luego hacer el check-in correspondiente.

Inicialmente me recomendaron KDEsvn, pero adivina: no se integraba bien con Nautilus; en todo caso, si usas KDE te lo recomiendo. En los repositorios de Ubuntu hay varias alternativas (Aplicaciones > Añadir y quitar…. > buscar subver), pero finalmente me quedé con NautilusSVN que puedes descargar desde aquí.

4.Subversion

Hemos hablado de clientes gráficos y algunos conceptos básicos así que luego de esta soberana lata comenzaremos lo que realmente importa.

Antes de explicar los clientes gráficos les explicaré como hacerlo desde un terminal para comprender la mecánica.

Ok, ahora si comencemos…

Lo primero será descargarnos el código del proyecto con el siguiente comando (en la carpeta donde pensamos trabajar posteriormente):

$ svn checkout http://www.ejemplo.com/trunk

¿Lógico, no?

Luego de la descarga subiremos nuestras modificaciones:

$ svn commit

Puede ser que se abra tu editor de texto (en mi caso Nano) para escribir un mensaje que acompañe la revisión y cuando salgas del editor tu archivo se enviará al repositorio.

Lo más probable que para poder subir archivos necesites tener una cuenta que te será entregada por el admin del servidor y este será el momento que te la soliciten.

¡Felicitaciones! Acabas de enviar tu primer archivo.

Si acaso quieres agregar un mensaje y evitar que se abra el editor de texto puede agregar el modificador -m:

$ svn commit -m mensaje

En tu segundo día vas a seguir trabajando, pero antes debes comprobar si algún miembro hizo alguna modificación. Podrías descargar nuevamente todo el código, pero no tendría mucho sentido ya que seguramente no existirán cambios en todos los archivos; por esto Subversion cuenta con nuestra tercera función básica:

$ svn update

Como no nos gusta gastar nuestros dedos de más podemos utilizar abreviaciones para estas funciones: checkout (co), commit (ci) y update (up). Otras funciones útiles son:

  • log: Muestra los mensajes de las revisiones
  • diff (di): Muestra las diferencias entre la revisión seleccionada
  • help: La nunca bien ponderada ayuda (que por cierto, fue la que me enseño)

5.Clientes Gráficos

El uso en un cliente gráfico es exactamente lo mismo. Nos vamos a la carpeta donde vamos a trabajar a trabajar, hacemos click derecho y luego SVN Checkout:

Subversion en Ubuntu (y GNOME) | AKA - Subversion for dummies

Subversion en Ubuntu (y GNOME) | AKA - Subversion for dummies

Supongamos que modifiqué un archivo, ahora al presionar el botón derecho me aparece lo siguiente:

Subversion en Ubuntu (y GNOME) | AKA - Subversion for dummies

Como queremos cambiar la versión, vamos a SVN Commit:

Listo, ya hemos realizado nuestro primer commit :).

Si te fijaste, en el screenshot anterior también me aparece la opción para hacer Update (SVN Update), cosa que debería utilizar siempre antes de ponerme a modificar un archivo.

Con esto doy por finalizado este sorprendetemente largo, pero básico how-to sobre SVN. Si quieren investigar más, recomiendo utilizar la opción de ayuda que viene incluida:

$ svn help

En serio, si sirve!

10 comentarios en “Subversion en Ubuntu (y GNOME) – AKA: Subversion for dummies

  1. Al comenzar a usar un sistema de control de versiones es como una epifanía. Realmente no te imaginas como pudiste llegar a desarrollar software sin usar uno antes.

    Todavía no me ha tocado usar un sistema de control de versiones descentralizado (como bazaar, mercurial o git) para algún proyecto en serio pero me imagino que va a ser una *segunda epifanía*.

    Saludos!

    Denis

    Me gusta

  2. Como un simple y normal usuario de a pie, tuve que instalar subversion para hacer actualizaciones de los repositorios de Emerald, me parece curioso usar esta tremenda herramienta como la describes para algo tan banal como actualizar unos repositorios de emerald ????

    Me gusta

  3. Estupendo blog, estupendo post e interesantes comentarios. En lo personal llevo algunos años usando CVSNT y acaso un año con subversion, estoy encantado con el paquete, pero me han dejado con la curiosidad sobre mercury y git, que recién veo esta poniéndose de moda. A ver que tal!

    Saludos y felicidades nuevamente.

    Me gusta

  4. Hola, soy nueva en esto, apenas estoy investigando sobre subversion. Aunque me he informado muchas cosas sobre el, no me podido entendre nada. quisiera saber como instalo subversion en una red y cual cliente grafico para ubumtu.

    Gracias..

    Me gusta

  5. Muchas gracias! El SVN que viene con Ubuntu para usarlo por linea de comandos es muy últil. Esto es para que despues no digan que en Windows las cosas son mas fáciles. En Windows tenía que instalar un programa re complejo para descargar una boludez xDDD.

    Graciasssssssss =D.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .