Migrando de Mercurial a Git

Una vez decidido a utilizar Git para mis repositorios surgió la necesidad de convertir los repositorios que ya tenía en Mercurial  a este sistema.

Si bien podía simplemente iniciar un repositorio en Git con el estado actual de cada proyecto, quería ser capaz de mantener la historia del repositorio con sus fechas, así como la diferentes ramas en las que hubiera estado trabajando.

Por suerte, he dado con el script de migración de fast-export que incluyo a continuación y que cumplió a la perfección con este cometido.

Mercurial sobre Nginx

lava lamp

Desde que empecé a utilizar Mercurial me ha parecido una herramienta excelente para el control de versiones.

Además de ser open source, la encuentro ágil, sencilla y multiplataforma y con una documentación (Mercurial Red Book) que ya le gustaría tener a otros. Basta con sólo leer este único manual para comprender el concepto detrás del control de versiones distribuído, los comandos de uso, la administración de los repositorios y la arquitectura interna del producto.

Pero, la Ley de Metcalfe (que otros quieren rebautizar como Teoría del bar lleno) ha hecho que los usuarios de DVCS utilicen en forma masiva Git, quizás impulsados más por el éxito de GitHub que por el sistema de control de versiones sobre el que se basa.

El procedimiento que se describe a continuación es con el cual monté el repositorio web de Cross Forests basado en Mercurial hasta que, siguiendo la corriente, lo terminé migrando finalmente a Git.
Esta instalación funcionó correctamente durante varios años (desde el 2014 hasta finales de 2017) y, si bien puede servir de referencia para futuras instalaciones, debe tenerse en cuenta que los sistemas y productos en los que se basa puedan haber sufrido cambios que requieran actualizar el procedimiento aquí descripto.

Continuar leyendo “Mercurial sobre Nginx”