Cómo colaborar en el desarrollo de software de código abierto usando Bazaar

Bazaar (o bzr) es un proyecto de Canonical para llevar adelante un control de las versiones en el desarrollo de software de código abierto de forma fácil y sencilla. Es la herramienta utilizada en Launchpad para la administración de revisiones de los paquetes. En Launchpad se almacenan muchos proyectos de código abierto pero no todos; así que este tuto te va a servir solamente para colaborar en el desarrollo de las aplicaciones almacenadas allí.

Si nunca creaste un proyecto en Launchpad porque te pareció muy complicado, este artículo te va a interesar.

Introdución

Para empezar, tenés que instalar bzr:

sudo apt-get install bzr

Bazaar descansa en llaves SSH para transferir archivos a tu cuenta de Launchpad. Si no tenés una llave SSH, podés seguir las siguientes instrucciones para conseguir tu llave SSH en Launchpad. Si ya la tenés, podés saltearte esta parte e ir directamente a la sección “Usando Bazaar”.

Launchpad / SSH Key

Para crear tu llave SSH:

ssh-keygen -t dsa

Contestá la primera pregunta con la opción que viene por defecto presionando Enter, luego ingresá un “frase de paso” o “passphrase” para tu llave SSH. Cuando termine, corré:

cat ~/.ssh/id_dsa.pub

Copía tu llave pública, que se mostró en el paso anterior, y andá a Launchap y editá tu llave SSH:

https://launchpad.net/~username/+editsshkeys

No te olvides de cambiar username x tu nombre y editsshkeys x tu llave SSH.

Pegá la llave en “Add an SSH key” y hacé clic en “Import Public Key”.

Usando Bazaar

Supongamos que encontraste un proyecto en Launchpad en el que querés colaborar o, tal vez, querés bajar su código fuente para adaptarlo a tus necesidades. Supongamos también, que ese proyecto es perlbot. En ese caso, tendrías que ir a:

https://code.launchpad.net/~drsmall/perlbot/trunk

Podés ver el directorio con todos los archivos (“trunk”) y ver también las revisiones del proyecto.

Si querés bajarte una copia del “trunk” a tu disco duro, sólo tenés que correr:

bzr pull lp:perlbot

Este comando bajará el código fuente de perlbot a ~/perlbot en tus disco duro. Podés modificarlo y enviar tus modificaciones de regreso al “trunk” (con los permisos necesarios).

Entonces, supongamos que querés empezar tu propia versión (o “branch”), donde podrás almacenar y compartir las modificaciones que hayas realizado del programa, o puede ser también algo creado por vos que querés que sea desarrollado en equipo. Para ello, juntá todos los archivos colocados en tu “branch” en Launchpad, y colocálos en un directorio local. Después, ejecutá:

bzr init

Esto convierte a ese directorio en un “branch”. Si te tomás el trabajo de mirar, vas a ver que ahora hay un nuevo directorio llamado .bzr dentro de tu directorio. Ahí es donde todas las revisiones y archivos son guardados para ser utilizados por bzr. Ahora, agregá todos los archivos al “branch”:

bzr add *

Es una buena idea habituarse a correr el próximo comando para verificar los cambios entre la última versión y la actual. No deberías hacer esto la primera vez.

bzr diff

Con el siguiente paso, vamos a comprometer nuestras ediciones a la nueva revisión. Es una buena idea comentar tus revisiones profusamente.

bzr commit -m "Comentario de la Revision XX"

Ahora vas a poder subir tu revisión a tu “branch” en Launchpad. Si el “branch” todavía no existe, será creado. Podés tener múltiples “branches”, así que te recomiendo que los nombres adecuadamente. Este comando puede llevar unos minutos, pero tené en cuenta que debe crear el “branch”, subir tus archivos, crear las revisiones, etc.

bzr push lp:~usuario/nombreproyecto/nombrebranch

Otros comandos útiles:

Crear un branch:

bzr init

Bajar un branch:

bzr pull 

Actualizar un branch:

bzr push 

Agregar archivos a tu branch:

bzr add 

Verificar la diferencia entre revisiones:

bzr diff

Comprometer la revisión:

bzr commit -m "Comentario de la revision"

Podés encontrar el resto de los comandos básicos ejecutando:

man bzr


Deja un comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.