Mercurial

Mercurial me llamó la atención desde que supe de él; pero no había tenido oportunidad de usarlo. Así que me decidí a usarlo para unos proyectos de prueba con los que estoy jugando en casa.

Hasta el momento, me está gustando mucho.

Diagrama de uso

Aún estoy aprendiendo, pero por lo pronto hice un diagrama explicando arquitectura y comandos comunes.

Notas

Es interesante notar que se puede migrar de Subversion, CVS, Git, Darcs y aparentemente Bazaar y Perforce.

Tips

Inicializar el código

Después de hacer un hg init en mi proyecto, se crea automátivamente el sub-folder .hg; pero yo debo crear manualmente el archivo .hg/hgrc con los siguientes contenidos:

[web]
description = Descripción de mi proyecto.
contact = Rodrigo Flores
allow_push = *
push_ssl = false
[paths]
default-push = http://localhost/hg/test/

Los parámetros description y contact son bastante directos, pero vale la pena mencionar los otros 3:

  • allow_push - Es el listado de usuarios que tienen permiso de hacer un push.
  • push_ssl - Determina si debemos usar ssl. Como mi servidor local no tiene habilitado https, lo deshabilité.
  • default-push - Determina a dónde hacer un push cuando no se especifica una ruta.

Diff Visual

Un tip útil es que se puede hacer un diff visual; usando una extensión llamada extdiff. Para habilitarla y agregar un comando asociado a ella, agregamos a ~/.hgrc lo siguiente:

[extensions]
# Con esto habilitamos la extensión:
hgext.extdiff =
[extdiff]
# Con esto agregamos un nuevo comando, vdiff, que invoca a kdiff3
cmd.vdiff = kdiff3

Después de ésto, podemos hacer un hg vdiff.

Links Relacionados