Utilizando Bazaar en Ubuntu

Hace ya un tiempo, hablé sobre RabbitVCS para el control de versiones. En aquel entonces, Antonio comentó, sobre la lentitud de esta solución, pero como a mi me funcionaba correctamente, no le di mas importancia que esa.

Sin embargo, con la última actualización que han realizado, donde además han implementado el uso de Git, me ha resultado imposible trabajar con Ubuntu, hasta tal punto que me he decidido por desinstalarlo.

A este punto, hay que sumarle el echo de que con el asunto de subir los proyectos a Launchpad, y su correspondiente código, he comenzado a utilizar Bazaar.

Bazaar es un sistema de control de versiones esponsorizado por Cannonical. Bazaar, al contrario que Subversion y CVS, que solo soportan un modelo de repositorio centralizado, permite un sistema distribuido de control de versiones, lo que da un mayor eficiencia en la colaboración. Particularmente, Bazaar está diseñado para aumentar el nivel de participación de la comunidad en proyectos de código abierto.

Total, que me he puesto en el asunto, y la verdad es que es realmente sencillo de trabajar con él. Simplemente con el terminal, te apañas perfectamente (lo que no quita, que uno de estos días -y no tardará- haga unos scripts para nautilus que nos facilite el trabajo a todos).

Un rápido tutorial, para aprender a manejar Bazaar y veas lo sencillo que es trabajar con él:

Configuración inicial

Para saber quien es el propietario de las versiones, lo primero es crear tu usuario, que se corresponderá con el de Launchpad en su caso, por ejemplo:


bzr whoami "Pepito Piscinas"

Si todo ha ido correctamente, cuando corras el comando sin nada después:


bzr whoami

tiene que arrojarte:


Pepito Piscinas

Inicialización del directorio donde tienes tu código fuente:

Simplemente tienes que correr el comando que viene a continuación. Aunque parece que no ha pasado nada, en realidad, Bazaar ha creado una rama del proyecto, donde almacenará todos tus archivos y sus correspondientes revisiones.


bzr init

Añadiendo elementos a controlar

El siguiente paso es indicar a Bazaar que archivos tiene que controlar. Para ello corres el siguiente commando:


bzr add

esto añade todo lo que haya dentro del directorio donde has inicializado anteriormente. Ahora, si quieres añadir solamente algunos archivos ya tendras que ser mas selectivo, por ejemplo, si quieres añadir solamente aquellos con extensión .po


bzr add *.po

El siguiente paso es llevar a cabo los cambios en nuestra rama. Además añadimos un mensaje que explique el que y el porque del asunto:


bzr commit -m "Primera modificación"

Como Bazaar es una sistema de control de versión distribuida, no necesita conectarse al servidor central para llevar a cabo los cambios en nuestra rama, Bazaar guarda tu rama y todos los cambios llevados a caba en el interior del directorio donde tu estas trabajando.

Para saber lo que hemos cambiado entre dos versiones, por ejemplo la 1 y la 2 de define-me.py:


bzr diff -r1..2 define-me.py

y el resultado:


=== modified file 'define-me.py'
--- define-me.py	2011-01-09 21:22:41 +0000
+++ define-me.py	2011-01-10 22:06:40 +0000
@@ -39,7 +39,7 @@
-APP = 'find-me'
+APP = 'define-me'
@@ -394,7 +394,7 @@
-		ad.set_program_name('Find-me')
+		ad.set_program_name('define-me')

Ver el resumen de modificaciones


bzr log

Por ejemplo, en el caso de define-me:


------------------------------------------------------------
revno: 2
committer: atareao
branch nick: define-me
timestamp: Mon 2011-01-10 23:06:40 +0100
message:
Fixed error with application name
------------------------------------------------------------
revno: 1
committer: atareao
branch nick: define-me
timestamp: Sun 2011-01-09 22:22:41 +0100
message:
First release

Publicando nuestro ramal

Hay varias formas de publicar el ramal. Pero solamente he utilizado la correspondiente a Launchpad, y es realmente sencilla:


bzr push lp:~team-name/project-name/branch-name

Como ves es realmente sencillo. Una guía rápida para aprender su uso, la tienes aquí.

7 comentarios en “Utilizando Bazaar en Ubuntu

    1. EL
      El atareao hace 14 años

      El problema es que utiliza las librerías Qt para KDE, y soy un poquito paranoico en estas cosas, ni Qt ni mono

  1. AN
    antonio hace 14 años

    Bueno.. en gnome tienes Olive, aunque dejé de usarlo porque por aquella época estaba tan verde que había que arrancarlo 2 veces pa que saliera 😀 Lo mismo ya está más perfilado, ya te digo que llevo sin verlo lo menos desde la jaunty. Para el que guste de eclipse, hay por ahí un plugin que es una buena maravilla, lo programó un muchacho que se llamaba Guillermo, si mal no recuerdo.

    Saludos y gracias por mencionarme en el mensaje 😀

  2. AN
    antonio hace 14 años

    por cierto! se me pasó mencionar que por línea de comandos tienes algunas órdenes que interaccionan de manera gráfica usando gtk. Suelen empezar por la letra g, como gcheckout, gdiff, gstatus.. aunque hay una que se llama visualise. En el Bazaar Explorer hay una opción donde te muestra todos los comandos (Bazaar / All Commands…) y luego eliges como categoría «gtk» y ya te aparecen. Además cuando seleccionas un comando te muestra directamente la ayuda entera del comando, entonces se hace muy ligero para vichear los comandos a golpe de ratón.

  3. RI
    Ricardo Carpintero Dominguez hace 12 años

    Hola y perdona las molestias.
    Bueno te cuento , yo empecé hace poco con ubuntu 12.04, pero vengo de windows utilizando bazaar, el caso es que en windows, si carga bazaar en inicio, los proyectos que tengas, desde el explorador de archivos puede ver con un icono si el archivo esta modificado o no…
    No se si me explique….
    Pero desde ubuntu nautilus no me indica nada, tengo abrir el explorador bazaar , si ese que parece ser que alguno de los que comentan no les gusta.
    Sabes si alguna forma de hace nautilus me marque o indique aquellos ficheros que se difieren de la versión comitada de bazaar.

    Un saludo y perdona las molestias.

    1. RI
      Ricardo Carpintero Dominguez hace 12 años

      Bueno me contesto, ya que anduve trasteando y encuentro un plugin para nautilus-bzr que creo que hace eso.
      Lo instalo pero de momento no me funciona, voy a probar a reiniciar la maquina a ver si así funciona….
      Un saludo igualmente.

      1. EL
        El atareao hace 12 años

        Hola @google-5144c7f0851bac23115dfe0669aa7c5e:disqus , lo cierto es que inicialmente cuando llegué a Ubuntu, comencé a utilizar complementos para nautilus, pero finalmente me he pasado a trabajar siempre en el terminal, puesto que es mucho más cómodo, práctico y rápido.
        Entiendo que inicialmente, si no estás acostumbrado, te pueda resultar incómodo, pero cuando le coges el truco, es sensiblemente más rápido.
        Un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *