¿Qué sistema de control de versiones usar?

Posible duplicado:
¿Cuál es la diferencia entre todos los diferentes types de control de versión?

Queridos todos:

Acabo de empezar a utilizar SVN para el control de versiones, pero siempre se habla mucho sobre el sistema de control de versiones como GIT, Mercurial, SVN, CVS, etc.

¿Qué hace que un sistema de control de versiones sea mejor de otro? O ¿Un tipo de sistema de control de versiones es bueno para una tarea y otro tipo es bueno para alguna otra tarea? ¿O todo el sistema de control de versiones es básicamente el mismo?

No, no creo que sean iguales. El repository centralizado (p. Ej., SVN, CVS, etc.) versus distribuido (Git, Mercurial, etc.) es una diferencia fundamental que refleja la forma en que opera su equipo de desarrollo.

Yo uso SVN. Creo que las cabezas colectivas de mi organización explotarían si se introdujera un sistema SCM distribuido como Git. Es un concepto tan diferente para la mayoría de las personas.

Los sistemas de control de versiones distribuidas (DVCS) como GIT, Mercurial y Bazaar tienen colectivamente ventajas en la flexibilidad del flujo de trabajo y la operación en comparación con los CVS centralizados como SVN o CVS. Vea la discusión en wikipedia .

En cuanto a la elección entre los DVCS, eso es tan debatido como (por ejemplo) que entre vi y emacs ;-). En base a "caballos por cursos", puede elegir pragmáticamente hg (Mercurial) si va a usar code.google.com, Bazaar si va a utilizar Launchpad, GIT si va a usar github, por ejemplo.

La mayor parte es preference personal; Git y Mercurial son sistemas distribuidos de control de fuente, y mejor si tienes un equipo distribuido; para la mayoría de los entornos de desarrollo donde el equipo se encuentra en la misma location o conectado a un solo server, los sistemas de control de versiones regulares como Subversion son lo suficientemente buenos.

He usado Git y me gusta, pero en realidad me gusta más Subversion. Si usas SVN, deberías estar bien.