Después de leer que soy un geek de Subversion, ¿por qué debería considerar o no considerar Mercurial o Git o cualquier otro DVCS ?
Tengo una pregunta de seguimiento relacionada. Leí esa pregunta y leí los enlaces y videos recomendados y veo los beneficios, pero no veo el cambio mental general del que hablan las personas.
Nuestro equipo está formado por 8-10 desarrolladores que trabajan en una base de código grande que consta de 60 proyectos. Usamos Subversion y tenemos una troncal principal. Cuando un desarrollador inicia un nuevo caso de Fogbugz, crea una rama svn, hace el trabajo en la rama y cuando terminan se fusionan de nuevo con el tronco. Ocasionalmente, pueden permanecer en la rama por un tiempo prolongado y fusionar el tronco con la rama para recoger los cambios.
Cuando vi a Linus hablar sobre personas que creaban una sucursal y nunca más lo hacían, no éramos nosotros en absoluto. Creamos probablemente 50-100 sucursales a la semana sin problemas. El mayor desafío es la fusión, pero también hemos sido bastante buenos en eso. Tiendo a fusionarme por fogbugz case & checkin en lugar de la raíz completa de la rama.
Nunca trabajamos de forma remota y nunca hacemos ramas de las ramas. Si usted es el único que trabaja en esa sección de la base del código, entonces la fusión al tronco se realiza sin problemas. Si alguien más ha modificado la misma sección de código, la fusión puede ser complicada y es posible que deba realizar alguna cirugía. Los conflictos son conflictos, no veo cómo un sistema pueda hacerlo bien la mayor parte del tiempo a menos que sea lo suficientemente inteligente como para entender el código.
Después de crear una sucursal, el siguiente pago de 60k + archivos lleva algún tiempo, pero eso sería un problema con cualquier sistema de control de fuente que usaríamos.
¿Hay algún beneficio de cualquier DVCS que no estemos viendo y que nos sea de gran ayuda?