De bazaar a git (bzr to git) migración de repositorios

danigm's picture

El otro día leí en reddit que emacs se pasaba a bazaar y en los comentarios leí que bazaar no es lo mejor del mundo. Yo ya lo sabía, y después de haber tratado durante algún tiempo con bazaar me decidí a cambiar todos mis repositorios a git.

¿Cómo hacer eso? pues fué más fácil de lo esperado, con el plugin de bazaar fastimport y el comando git import. Se instala fácilmente descargandolo "bzr branch lp:bzr-fastimport fastimport" y copiando el directorio a "~/.bazaar/plugins/". Ahora deberíamos tener accesible el comando bzr fast-export.

En mi servidor tengo todas mis ramas dentro de un directorio llamado branchs y quería crear un directorio llamado gits con los mismos proyectos pero portados. Para ello me he creado un script que se encarga de hacer todo lo necesario:

[php]

#!/bin/bash

root=$PWD
cd $root/branchs
for i in *
do
newdir=$root/gits/$i.git
mkdir $newdir
cd $newdir
git init --bare
bzr fast-export $root/branchs/$i | git fast-import
git update-server-info
done

[/php]

Esto exporta todos los repositorios de bazaar a git.

Y para mostrar todas las ramas de git que tengo me he instalado gitPHP, porque intenté configurar gitweb, pero con lighttpd no he podido hacer funcionar este porque es un script perl, he intentado seguir las instrucciones para configurar gitweb con lighttpd, pero no me muestra la página, me da el fichero para descargar.

Sobre la decisión de usar git en lugar de bazaar, es una decisión totalmente arbitraria, con poquísimo fundamento, bien podría haber sido mercurial o lo que sea, pero git está siendo utilizado por grandes proyectos como gnome o kde y se supone que es el más potente, así que por qué no.

tags: