Situación: no tenemos beta y la versión 1.0 se ha lanzado a varios sitios de clientes. El Equipo A ya está ocupado trabajando en la versión 1.1 que tendrá correcciones de errores incrementales y ajustes de usabilidad, mientras que otro equipo trabaja en la versión 2.0 con cambios a gran escala, donde el núcleo del producto puede haber sido completamente rediseñado. Ahora, la mayoría de los cambios realizados para 1.1 tendrán que llegar a 2.0 en algún momento, y algunas de las correcciones de errores realizadas en la rama 2.0 podrían, de hecho, necesitar ser programadas para una versión anterior. El problema es que, dado que 2.0 tiene diferencias fundamentales, no se pueden combinar los cambios de 1.1 sin conversión manual, ni viceversa.¿Cómo trabajo simultáneamente en la versión 1.1 y la versión 2.0?
Mi pregunta: ¿Cuáles son las mejores prácticas de control de revisiones para minimizar los conflictos de combinación y duplicar el trabajo en este tipo de situaciones? ¿Cómo puedo asegurarme de que mis equipos dediquen el menor tiempo y esfuerzo posible a los problemas de control de revisiones, al mismo tiempo que les proporciono parches regulares a los clientes?
Merge tracking hace que esto sea mucho menos aplicable. – Apocalisp