¿Cómo se compara Mercurial con GIT y SVN?

Con Phil Haack y otros recientemente tuiteando sobre el movimiento de CodePlex para respaldar a Mercurial como un DVCS, pensé que podría valer la pena verlo.

Como alguien que actualmente usa SVN para proyectos personales y TFS en The Office, ¿cómo se compara Mercurial en términos de usabilidad, características y cuáles son algunos de los mejores services de alojamiento de Mercurial disponibles?

En cuanto a la comparación con Git, Google publicó recientemente una interesante comparación de Git y Mercurial en function de su evaluación: http://code.google.com/p/support/wiki/DVCSAnalysis

Comparado con SVN, para el que recientemente trabajé de nuevo después de bastante time, Mercurial es increíble. Me dio la sensación de "¿Por qué alguien usaría SVN?" SVN es bastante bueno, pero Mercurial realmente solo funciona mejor.

Para proyectos personales, cambiaría sin duda a DVCS. Hace todo lo que hace SVN pero es mejor y mucho más rápido. La "curva de aprendizaje" es solo entender algo de terminología.

En realidad, la diferencia entre SVN y DVCS es que todos tienen un repository completo en funcionamiento en su sistema. Si decide tener un "server maestro", es exactamente el mismo que tiene, excepto que está configurado para servir continuamente a través de una networking. Para sincronizar esto, todo lo que haces es enviar / recibir (push / pull) los cambios entre estos repositorys.

Acerca de comparar Mercurial con Git – vea esta pregunta SO: Git y Mercurial – Compare y Contraste (y mi larga respuesta allí).

Acerca de la comparación de Mercurial con svn: consulte esta pregunta de SO: para proyectos domésticos, ¿Mercurial o Git (u otro DVCS) pueden ofrecer más ventajas que Subversion? (En teoría, esta pregunta tiene un scope limitado, escribí sobre Git contra Subversion en mi respuesta).

Una cosa que no se menciona en la comparación de Google fue que Git parece ser mucho más rápido. Mercurial parece lo suficientemente rápido (al less con proyectos pequeños), pero Git es simplemente increíble, sin importar el tamaño del proyecto.

Probablemente soy solo yo, pero he estado usando Mercurial durante seis meses, después de varios años de usar SVN exclusivamente, y por alguna razón, tampoco encaja en mi model mental. Sé exactamente lo que estoy haciendo en SVN, y si algo sale mal, siempre sé cómo solucionarlo. Conceptualmente no tengo ningún problema con Mercurial, me encanta que tenga una copy local del repository, por ejemplo, pero en la práctica siempre estoy perdiendo cosas. Creo que podría ser porque una fusión en SVN es bastante importante, mientras que en Hg es la forma normal de las cosas. Quiero más control sobre mis fusiones. En SVN siempre está claro qué set de cambios precede a cuál, pero Mercurial parece carecer de esto. Incluso TortoiseHg, que es bastante agradable visualmente, no parece ofrecer suficientes oportunidades para ver exactamente lo que se está fusionando.

SVN tiene mucho soporte con herramientas de terceros que incluyen IDE y sistemas de seguimiento de fallos, entre otros, TortoiseSVN .

La mayoría de los desarrolladores han usado SVN en el pasado, por lo que conseguir nuevos desarrolladores para que su equipo funcione con mayor velocidad es más rápido con SVN.

Lo importante que es para ti este tipo de cosas, solo tú puedes decidir.

    Intereting Posts