Tagged:subversion

Notas sobre Mercurial

Mercurial es el sistema de control de versiones que elegí después de probarlo durante algunos días junto con Subversion y Git. La elección fue relativamente sencilla. Las características esenciales que me llevaron a decidirme por este CVS son:

– Facilidad de instalación. En comparación con Git, que requiere un mayor entendimiento de los entresijos internos del sistema tanto para su instalación como para su uso.

– Es un sistema distribuído, al igual que Git y a diferencia de Subversion, lo que elimina la necesidad de un repositorio centralizado. Puedes tener tantos repositorios de un mismo desarrollo como desees y abrir tantas ramas de desarrollo como se deseen.

– La interfaz y el trabajo día a día son bastante similares a los de Subversion, por lo que es bastante sencillo de utilizar, a diferencia de Git.

– Alto nivel de seguridad. Es posible configurarlo para conectarse a un repositorio a través de HTTP con una capa de seguridad por SSH con utilización de ficheros de claves privadas. La configuración de un repositorio Mercurial de estas características no es trivial, sin embargo es posible, cosa que no conseguí realizar con Subversion (aunque en teoría tamibén es posible).

En resumen, en mi opinión, tiene lo mejor de Git y de Subversion.

Trabajo con Mercurial

– No hay una manera «buena» de usarlo debido a que se trata de un sistema muy flexible, sin embargo algunos métodos son más escalables que otros.

– Es importante  fusionar siempre (realizar la operación merge), ya que esto nos permitirá encontrarnos con los conflictos antes, y por lo tanto serán más fáciles de resolver.

– No se debe dudar en utilizar múltiples árboles localmente durante la labor de desarrollo. Mercurial permite estas operaciones de una manera rápida y eficiente.

– Algo falla?, vuelve para atrás tantos pasos como necesites en otra rama.

¿Qué  añadiría yo a Mercurial?

Sería interesante  que en versiones futuras de Mercurial se mejore el interfaz, así como la posibilidad de exportar los ficheros modificados de un changeset cualquiera (no sólo la lista de cambios del changeset). Si se añadiese esta capacidad pienso que sería el CVS ideal.

{ Piensa / Think }

"This is a waste of life. [...] the entire educational system in the modern day is nothing more than a cookie cutter processing plant that prepares humans for mostly predefined occupational roles. This element of human life has become so traditionally ingrained, that many falsely consider the nature of ‘having a job’ some form of human instinct. Even parents will ask their kids “What do you want to be when you grow up?” as though there was only one thing. This is disturbing and a violation of human potential." - The Zeitgeist Movement


"He aprendido que hay cosas que pueden ser comprendidas pero que nunca podrán ser explicadas con palabras sin desvirtuar su grandeza" - Andrés Pascual


"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete." - Buckminster Fuller


"... I am the master of my fate. I am the captain of my soul." - William Ernest Henley