2010-02-26 9 views
22

Estoy en proceso de conocer mejor el sistema de control de versiones de Mercurial, y estoy considerando convertir SVN.
¿Alguien ya ha convertido? ¿Fue difícil para ti y tu equipo cambiar? ¿Puede darnos algún consejo para quedarse con SVN o ir por Mercurial?¿Has convertido de subversión a mercurial? ¿Valió la pena el esfuerzo?

+0

¿Alguien puede confirmar que Mercurial es realmente más lento que SVN? Claro, los compromisos locales son rápidos, tal vez solo los repositorios hg en red son bastante lentos. – twk

+0

¿Y el acceso al repositorio a través de https? Lo pondré en el servidor Win2K3. – twk

+0

@twk: si hg es más lento que svn, eso es un error. – tonfa

Respuesta

14

No tengo experiencia con mercurial (use git en cambio) pero la diferencia de experiencia entre un buen DVCS como mercurial o git vs. svn es algo de lo que realmente no puede volver una vez que ha pasado la curva de aprendizaje

  • Local commits libera su flujo de trabajo, su enfoque de las características de codificación determina cuándo comprometer en lugar de sus compromisos que afectan a su forma de trabajar.
  • Los números de revisión lineal de Svn son -bad-. Los errores (especialmente con ramas) simplemente no se corresponden bien con un simple mapeo de incremento.
  • Las sucursales locales hacen que las características de compartimentación sean mucho más fáciles y mejores, la creación de prototipos se vuelve mucho más simple.
  • (solo un poco relacionado, pero) Trabajar fuera de línea tiende a permitirle hacer cambios más rápido que sus competidores.

Hace poco tuve un trabajo que consistía en volver a usar un repositorio de svn centralizado después de usar git durante un año o dos. Me acerqué usando el puente git-svn, y descubrí que tenía un gran control sobre los commits en comparación con svn, y podía hacer que los commits y las ramas se sentaran, giraran y jugaran muertos de una forma que me daba una ventaja útil sobre mi svn using co-workers, además del gran volumen de confirmaciones que hice en comparación debido a la naturaleza muy granular y frecuente de realizar confirmaciones locales. Fue un gran beneficio.

Realmente recomiendo dedicar algo de tiempo con un DVCS.

+3

Las confirmaciones locales no son exclusivas de DVCS. Simplemente no están implementados en otros sistemas todavía. El soporte para ellos está planeado en + - Subversion 1.8. –

17

Una vez que empiece, no querrá regresar. Las ventajas son enormes

Intencionalmente evité la bifurcación en SVN, porque cada combinación requería horas de ajuste. Ahora, espero con entusiasmo la ramificación porque funciona muy bien. Ha hecho que desarrollar nuevas funciones sea mucho más fácil.

Además, la capacidad de trabajar fuera de línea es fantástica.

Este SO article cubre el proceso de conversión en detalle (es bastante simple). Podrá conservar su historial, pero beneficiarse de un DVCS.

Este SO Question trata los beneficios de DVCS en detalle, así que mencionaré una ventaja específica de Mercurial. Si usa una GUI como TortoiseSvn, se sorprenderá gratamente al TortoiseHg. Esta aplicación se mejora continuamente y hace que sea muy fácil ver los cambios pendientes y los cambios históricos. Me tomó un tiempo llegar a este nivel de calidad, pero ahora, odio usar TortoiseSvn, porque es peor cuando se trata de revisar los cambios pendientes y decidir qué quieres comprometer.

6

Convertí. Al principio fue solo para probarlo, pero me he convertido en un gran fan. En realidad, no convertí mis repositorios personales, solo exporté los últimos y agregué los archivos a un nuevo repositorio de Mercurial.

Algunos de los comandos básicos de hg son similares a los de svn, por lo que deberían ayudarlo a sentirse cómodo. Here es una explicación de las diferencias con Joel.

Es importante que esté abierto a usar un nuevo proceso con hg. Permite mucha más ramificación y compromiso rápido, sacará el máximo provecho de hg si usa romper la mentalidad de subversión.

+1

Me gusta el artículo, aborda el gran problema de inmediato: la bifurcación de svn es difícil, por lo que desalienta la realización de trabajos en curso, hg bifurcar es fácil, por lo que alienta a comprometer/guardar todo su trabajo. Eso termina siendo una gran cosa. – Kzqai

Cuestiones relacionadas