2010-01-24 8 views
17

Con Phil Haack y otros recientemente tuiteando acerca de CodePlex's move to support Mercurial como un DVCS, pensé que valdría la pena echarle un vistazo.¿Cómo se compara Mercurial con GIT y SVN?

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 servicios de alojamiento de Mercurial disponibles?

+0

esto debería tener una etiqueta 'git'. –

+0

@Chad Okere - es suficiente. Hecho. –

+0

¡No hay suficientes etiquetas para describir completamente esta pregunta! D: – Spoike

Respuesta

18

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

+0

Perfecto. Eso tiene todo lo que necesito. Gracias por el consejo, @Dave Ward. –

+4

Tenga en cuenta que este análisis está desactualizado, por ejemplo, Git ha adquirido soporte no hace mucho tiempo para el transporte HTTP "inteligente". –

+0

Algunas cosas más están desactualizadas: mercurial también tiene rebase ahora (ya no es una ventaja de git); git-gc ahora es algo automático (ya no es una ventaja significativa de hg), y el soporte de windows es menos terrible (no estoy seguro de que esto siga siendo una ventaja de hg). Y, por supuesto, Microsoft ha anunciado su intención de integrar el soporte git en su línea TFS. –

1

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

+0

Recuerde, sin embargo, que está comparando rayos y un avión supersónico. El único problema real que git tiene es el soporte de herramientas en otras plataformas aparte de Linux, pero supongo que eso va a cambiar con el tiempo. – Esko

+2

En realidad, tanto Git como Mercurial se vuelven súper lentos cuando el tamaño de proyecto del proyecto comienza a deslizarse hacia GB. Entonces el tamaño sí importa – Spoike

+3

TortoiseGit es una muy buena herramienta GUI para Windows. Supongo que los usuarios de otras plataformas están contentos en su mayoría con la herramienta de línea de comandos, tal vez en combinación con el software de visualización gráfica de árbol como gitg. – Tronic

0

SVN tiene mucha compatibilidad con herramientas de terceros, incluidos IDE y sistemas de seguimiento de errores, entre otros, el bastante agradable TortoiseSVN.

La mayoría de los desarrolladores han utilizado SVN en el pasado, por lo que obtener nuevos desarrolladores al día en su equipo es más rápido con SVN.

Qué tan importante es este tipo de cosas para usted, solo usted puede decidir.

6

Comparado con SVN, para el que trabajé de nuevo recientemente después de bastante tiempo, 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 me gustaría cambiar sin duda a un 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 repositorio completo en funcionamiento en su sistema. Si decide tener un "servidor maestro", es exactamente el mismo que tiene, excepto que está configurado para servir continuamente a través de una red. Para sincronizar esto, todo lo que haces es enviar/recibir (push/pull) los cambios entre estos repositorios.

1

Probablemente sea 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 se ajusta a mi modelo 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 copia local del repositorio, 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é conjunto 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.

Cuestiones relacionadas