Ver índice de contenidos del libro

1.5. Instalación de Bazaar

Bazaar es un sistema de control de versiones distribuido, que nos permitirá ir manteniendo el control cambios sobre nuestros archivos, centralizándolos en un repositorio.

Un Repositorio es un espacio destinado a almacenar información digital. En nuestro caso, lo que se almacenará en ese repositorio, serán los archivos -código fuente, tarballs, binarios, etc- de las aplicaciones y ejercicios que iremos codeando a lo largo del curso.

Las ventajas principales de utilizar un SCV, son:

  • Espacio de almacenamiento centralizado de, principalmente, el código fuente de la aplicación así como scripts de construcción -en el caso de aplicaciones que requieran ser compiladas o simplemente, necesiten realizar configuraciones especiales, ya sea tanto para continuar desarrollándolas como para ejecutarlas-.
  • Para ser efectivos, deben llevar un control histórico de cambios que se vayan efectuando en los archivos -preferentemente automático-, permitir el establecimiento de tags -etiquetas- que ayuden a identificar diferentes releases -versiones-.

Los Sistemas de Control de Versiones (SCV) pueden agruparse en dos tipos:

  • Centralizados: un único repositorio centralizado administrado por un solo responsable.
  • Distribuidos (recomendados): donde existe un repositorio central que cada usuario podrá clonar para obtener su propio repositorio -local- e interactuar con con otros repositorios locales.

Entre los SCV distribuidos podemos destacar excelentes alternativas GPL (Software Libre), como es el caso de -entre otros-, Git (de Linus Torvalds, creador del Kernel Linux en el que se basa el Sistema Operativo GNU/Linux), Mercurial (desarrollado en Python y C) o el magnífico Bazaar, nacido a partir de GNUArch y desarrollado íntegramente en Python por Martin Pool, con el patrocinio de Canonical y elegido en este curso.

Nota Una gran ventaja de los SCV es que permiten a varios programadores trabajar simultáneamente sobre los mismos archivos, impidiendo que el trabajo de uno, pise al trabajo de otro.

Los SCV pueden utilizarse tanto a través de línea de comandos, como de aplicaciones gráficas. En este curso, nos centraremos en el uso por medio de línea de comandos.

Los SCV, en su mayoría -y a rasgos generales- cuentan con un conjunto de funcionalidades, las cuales, para cada una, existe un determinado comando (generalmente, similar en la mayoría de los SCV).

Para instalar Bazaar en tu ordenador, ejecuta el siguiente comando:

sudo apt-get install bzr

Una vez instalado Bazaar, deberás clonar el repositorio central (desde el servidor del curso) a tu ordenador local (reemplaza <USUARIO> por tu login y <IP_DEL_SERVIDOR> por la dirección IP del servidor al que te conectas):

bzr branch sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk

A continuación, deberás ingresar tu contraseña.

Una vez clonado el repositorio, deberás agregar unas líneas al archivo de configuración de Bazaar. Para ello, abre el archivo de configuración con el editor Nano:

nano trunk/.bzr/branch/branch.conf

Mueve el cursor hasta la siguiente línea y pulsa las teclas Ctrl + K:

parent_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk

A continuación, pulsa tres veces, las teclas Ctrl + U para pegar (tres veces) la línea que cortaste anteriormente. Deberás ver lo siguiente:

parent_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk
parent_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk
parent_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk

Reemplaza la palabra parent de la segunda línea, por push y la de la tercera, por pull de forma tal que el archivo, se vea como sigue:

parent_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk
push_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk
pull_location = sftp://<USUARIO>@<IP_DEL_SERVIDOR>/home/<USUARIO>/public/trunk

Para guardar el archivo pulsa las teclas Ctrl + O (enter) y para salir, pulsa Ctrl + X.

Copyright (c) 2011-2013 Eugenia Bahit. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución NoComercial SinDerivadas 3.0 Unported siempre que se conserve esta nota de copyright.