Preparar entorno local de trabajo Bazaar
Esto es una adaptación de la documentación que añadí a la forja de Emergya para que la gente sepa cómo configurar un entorno de trabajo sencillo con Bazaar y así poder trabajar más fácilmente en nuestra forja.
Cambiaré las urls para que sea más genérico.
Aquí se explica una forma de configurar tu entorno de trabajo para que sea más sencilla publicar tus ramas y proyectos en tu repositorio Bazaar de la forja.
Definiendo algunos conceptos
Definamos primero algunos conceptos y valores de ejemplo para que se entiendan mejor los ejemplos.
Remoto y local
A lo largo de los ejemplos y explicación hablaremos de configuración o datos en la forja (o sistema remoto) y en local, así que vamos a aclarar bien estos conceptos antes de seguir:
forja (remoto):local:La forja es este servidor en el que ves esta página y en el que se almacenan los diferentes proyectos. El usuario de esta forja es con el que te das de alta para entrar aquí. Debe ser algo como jojeda, pero a partir de tu nombre y primer apellido.
El sistema local es el entorno de trabajo tuyo. Es tu equipo y tu cuenta, en donde tú trabajarás normalmente para después subir los cambios al servidor y que así los puedan ver más gente.
Datos del usuario
Vamos a suponer que el nuestro usuario en la forja es jojeda. Veámos cuáles serían sus datos relevantes:
Nombre de usuario en la forja:
jojeda
Directorio remoto de trabajo:
/home/jojeda/bzr/
url del repositorio Bazaar personal:
bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/
Nombre de usuario en local:
juanje
Directorio local de trabajo:
/home/juanje/Projects/personal/
En los ejemplos se usarán estos datos. Debes sustituir en todos ellos jojeda por tu nombre de usuario en la forja y juanje por tu usario en tu sistema.
Archivos de configuración locales de Bazaar
Existen dos archivos de configuración de Bazaar que nos pueden interesar:- ~/.bazaar/bazaar.conf
- ~/.bazaar/locations.conf
bazaar.conf
Es el archivo de configuración de Bazaar. Ahí podremos configurar muchas cosas, pero seguramente lo que nos resulte más interesante son el email y los alias. Para configurar el entorno que proponemos no hace falta tocar nada aquí, pero es un archivo que conviene conocer.
Les pongo un ejemplo de configuración:[DEFAULT] email = Juanje Ojeda Croissier <jojeda AT emergya DOT es> launchpad_username = juanje viz-compact-view = no date-column-visible = True [ALIASES] last = log --limit 1 difflast = diff -r last:2..last:1 cbranch = cbranch --lightweight clean = clean-tree
NOTA: El email iría normal, lo he puesto así aquí para evitar que me llegue más spam.
Los alias son como los de bash. Ahí podemos definir comandos para bzr o redefinirlos de forma que siempre se le pasen aquellos parámetros que usamos con dicho comando todos los días y de los que estamos cansados de escribir todo el tiempo.
locations.conf
Éste es el archivo que realmente nos interesa y en dónde se crea toda la magia :-)
Este archivo le dirá a Bazaar dónde queremos publicar cualquier rama que tengamos en en el directorio local de trabajo. Veámos la configuración del archivo para los datos que definimos antes y a continuación los explicaremos:[/home/juanje/Projects/personal] push_location = bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/ push_location:policy = appendpath public_branch = bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/ public_branch:policy = appendpath
Crear repositorio remoto
El repositorio remoto será el directorio dentro de la forja en el que iremos subiendo todas nuestras ramas o proyectos con Bazaar. Antes definimos este repositorio como el directorio remoto de trabajo. Para crearlo y poder empezar a subir ramas debemos hacer los siguiente (siempre cambiando los valores según vimos antes):$ bzr init-repo --no-trees bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/
A partir de ahora ya podremos subir nuestros proyectos a ese repositorio remoto de forma que no sature el servidor y tengamos todo bien organizado.
Crear entorno de trabajo local
Esto no es más que asegurarnos de dos cosas:
- De tener creado un directorio en nuestro sistema en donde guardar nuestras ramas de locales de los proyectos que queremos publicar en esta forja. Que en este ejemplos es:
/home/juanje/Projects/personal/
- De añadir dicho directorio y los direcciones remotas en dónde se publicarán las ramas al archivo ~/.bazaar/locations.conf. Cómo ya vimos antes, dicho archivo debería contener algo como:
[/home/juanje/Projects/personal] push_location = bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/ push_location:policy = appendpath public_branch = bzr+ssh://jojeda@bzr.servidor.org/home/jojeda/bzr/ public_branch:policy = appendpath
¿Cómo trabajar en dicho entorno?
Una vez tenemos creado el entorno remoto y el local, sólo quéda ver cómo trabajar en él. Lo que nos va a permitir esto, y de ahí todo el jaleo del archivo locations.conf es no tener que poner una y otra vez la url en la que queremos publicar nuestra rama en el servidor cada vez que creemos una o queramos subir los cambios.
Y todo desde nuestra máquina, sin tener que conectarnos vía ssh al servidor.
Veámos unos ejemplos de cómo usarlo:
Crear un nuevo proyecto
Vamos a nuestro directorio de trabajo:$ cd ~/Projects/personal/Creamos la nueva rama:
$ bzr init proyecto-XEntramos en el directorio de la rama creada:
$ cd proyecto-XSubimos los cambios (push):
$ bzr pushAhora se habrá creado una copia remota de nuestra rama en:
(En el servidor: hg.emergya.info)
/home/jojeda/bzr/proyecto-X
Como podemos ver, no hemos tenido que poner la url del servidor, ni el protocolo que usamos (bzr+ssh//), ni el directorio remoto en el que se guardará. Ni siquiera hemos tenido que crear el repositorio remoto y «descargárnoslo» para poder comenzar a trabajar en local.
Subir los últimos cambios locales
Para esto simplemente vamos al directorio de la rama de nuestro proyecto en el entorno local:$ cd ~/Projects/personal/proyecto-XY ya podemos subir los cambios:
$ bzr push

Comentarios
pchoza:
Alhada
fontanon:
"No existen los hechos, solo las interpretaciones" La verdad es conquista de la voluntad de poder. (Nietzsche)