Bazaar via ftp o de como crear un repositorio de control de versiones en un hosting compartido, sin acceso ssh…
Ni es tan complicado como montar un subversion compilandolo del lado del servidor, vaya uno a saber como si no tenemos ssh, ni tan fácil como crearlo localmente. Pero posible.
Esto es particularmente útil cuando queremos instalar un repositorio en nuestro sitio web pero no tenemos acceso por telnet ni ssh ni nada por el estilo.
El método
¿Qué necesitamos?
- Bueno, dos equipos, el local – nuestra estación de trabajo – y el servidor compartido – donde está nuestro sitio web -.
- Acceso ftp al servidor.
- Instalador de Bazaar para nuestro sistema operativo local.
- Plugin push_and_update para Bazaar.
- Python 2.4 o superior, por supuesto, es requerimiento de Bazaar.
Creación de la cuenta de ftp en el servidor
Comenzaremos por el servidor, algunas indicaciones serán algo generales, deben realizarse de acuerdo a las herramientas que su proveedor de hosting disponga.
1. Primero crearemos la cuenta de usuario de ftp remoto, en este artículo será bzr_usuario.
2. Luego, crearemos la carpeta donde queremos que nuestro repositorio resida. Yo he creado una carpeta que no tiene acceso por http (no todo lo que estoy desarrollando es de dominio público). En este artículo la ruta será ftp://dominio.com/bazaar/repositorio.
3. Asignamos la carpeta al usuario ftp que hemos creado. En algunos casos esto nos simplifica la vida, ya que el usuario verá esa carpeta como la raíz del sitio ftp y no puede acceder a otras ubicaciones (en el caso en que trabajemos con más personas en el mismo proyecto, por ejemplo, nos ahorrará dolores de cabeza).
4. Verificamos que la conexión con el servidor pueda establecerse y que podamos manipular el contenido de la carpeta vía ftp.
Instalación de Bazaar y plugin push_and_update
Ahora vamos a nuestro equipo cliente, la estación de trabajo.
1. Aquí el primer paso consiste en instalar Bazaar, no entraré en detalles de como realizar esta instalación, cada sistema operativo tiene su propio método.
2. Luego instalamos el plugin push_and_update. Nos ubicamos en el directorio de Bazaar, y ahí en el directorio plugins. Si el directorio plugins no existe procederemos a crearlo. Por consola y empleando el mismo Bazaar podemos instalar el plugin con el siguiente comando:
bzr branch lp:bzr-push-and-update push_and_update
Hay alternativas a este comando, por ejemplo:
bzr branch https://launchpad.net/bzr-push-and-update push_and_update
O bajarlo e instalarlo manualmente.
Este plugin es muy importante, ya que nos mantendrá nuestro repositorio en el servidor al día.
Creación del repositorio y publicación en el servidor
Esta parte consiste en la creación de un repositorio local en la estación de trabajo para luego subirlo a nuestro servidor.
1. Creamos una carpeta para el repositorio. La dejamos vacía, nuestro proposito en este momento es solo crear la estructura del repositorio.
2. Nos ubicamos por consola dentro de la carpeta creada e iniciamos el repositorio, el comando es:
bzr init
3. Procedemos a crear la estructura del repositorio en nuestro servidor:
bzr push --create-prefix ftp://bzr_usuario@dominio.com/bazaar/repositorio
El directorio no debería existir en el servidor ya que se va a crear uno nuevo. Sin embargo, si tenemos un directorio existente y vacío podemos añadir la opción --use-existing-dir a este comando.
4. Realizamos el primer envío de contenido al repositorio en el servidor con prácticamente el mismo comando:
bzr push ftp://bzr_usuario@dominio.com/bazaar/repositorio
Aunque ya podemos omitir la ruta a nuestro directorio ftp, Bazaar la recordará por nosotros, aunque siempre nos preguntará por la contraseña.
5. Para traer la información desde el servidor a nustros equipos podemos usar el comando merge o el comando pull.
bzr merge ftp://bzr_usuario@dominio.com/bazaar/repositorio
Fuentes:

Comment from jacobo
Time 2009.11.12 at 19:12
Gracias! ahora mismo voy a probarlo