En el proyecto en el que estoy trabajando, estamos utilizando SVN con la estrategia 'Stable Trunk'. Lo que eso significa es que para cada error que se encuentra, QA abre un bug ticket
y lo asigna a un desarrollador. A continuación, un desarrollador corrige ese error y lo comprueba en una rama (fuera del tronco, vamos a llamar a esto el bug branch
) y que la rama se sólo contienen correcciones para ese particular bug ticket
Integración continua con el desarrollo de varias sucursales en Subversion
Cuando decidimos hacer un lanzamiento, para cada correcciones de errores que queremos liberar al cliente, un desarrollador combinará todas las correcciones de varios bug branch
a trunk
y continuará con el ciclo de QA normal.
El problema es que utilizamos trunk
como el código base para nuestro trabajo de CI (Hudson, específicamente), y por lo tanto, para todas las confirmaciones a la bug branch
, se perderá la acumulación diaria hasta que se fusionó a trunk
cuando decidimos lanzar la nueva versión del software. Obviamente, eso frustra el propósito de tener IC.
¿Cuál es la manera correcta de solucionar este problema?
Normalmente diría que configuraría CI para sus sucursales, pero apuesto a que tiene demasiadas. Sabes que tienes una política bastante inusual sobre esto. No es típico crear 1 rama por arreglo de error especialmente con SVN. –