Migrando de Mercurial a Git

Falkirk wheel

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.

Virtual hosts HTTPS certificates

Bowl con M&M

Existe un problema de base cuando se quieren disponer múltiples servicios web identificados por nombre desde un mismo servidor (virtual hosts) y se pretende dar acceso a los mismos a través del protocolo HTTPS, como se explica en name-based HTTPS servers.

El problema radica en que, para establecer la conexión SSL de base que requiere el protocolo HTTPS, se debe contar con el certificado del servidor. Pero, en el caso de poseer múltiples servicios web alojados en el mismo servidor, el servidor no sabría cuál certificado aportar hasta recibir el nombre de host que desea ser accedido lo que resulta imposible dado que la conexión SSL aún no está establecida. Continuar leyendo «Virtual hosts HTTPS certificates»

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»