Digamos que hay un equipo de diez desarrolladores ágiles. Todos los días, cada uno elige una tarea del tablero, comete varios cambios en su contra, hasta que (al final del día) hayan completado la tarea. Todos los desarrolladores se registran directamente en el enlace troncal (al estilo de Google, cada confirmación es un candidato de lanzamiento, utiliza funciones, etc.).
Si usaban un CVS centralizado como SVN, cada vez que uno de ellos se compromete, el servidor de compilación se integrará y probará sus cambios contra el trabajo de los otros nueve desarrolladores. El servidor de compilación estará funcionando prácticamente todo el día.
Pero si estaban usando un DCVS como git, el desarrollador puede esperar hasta que completen la tarea antes de enviar todos sus compromisos locales al repositorio central. Sus cambios no se integrarán hasta el final del día.
En este escenario, el equipo SVN se integra continuamente con mayor frecuencia y descubre problemas de integración mucho más rápido que el equipo git.
¿Significa esto que los DVCS son menos adecuados para equipos continuos que las herramientas centralizadas más antiguas? ¿Cómo se solucionan este problema de empuje diferido?