¿Cómo puedo gestionar la fusión de actualizaciones de varios desarrolladores?
Trabajo con un equipo mediano de desarrolladores que trabajan en un solo producto. Los desarrolladores escriben el código para tratar una característica o un ticket de corrección de errores, y luego lo ingresan en nuestra rama de desarrollo principal (en Subversion). Una vez que el boleto ha sido probado y validado allí por la gente de control de calidad, lo fusiono en el tronco. Normalmente hago esto manualmente, ya que muchos de los tickets abarcan varias revisiones, que no siempre son secuenciales y pueden incluir correcciones para varios tickets a la vez.
Una cosa que estoy seguro ayudaría es alentar a los desarrolladores a que solo registren un ticket por revisión. Usamos Jira para rastrear nuestras tareas, por lo que cada revisión de Subversion debe tener un ID de problema de Jira en el registro: cuando estoy fusionando el código, busco revisiones que incluyan el problema en el que estoy fusionando.
¿Hay otras maneras en que podría manejar esto mejor? ¿Los otros equipos se bifurcan del tronco para cada boleto y problema? Como dije, tenemos una rama de desarrollo principal, al menos en parte porque estamos construyendo una gran cantidad de nuevas funcionalidades con bastante rapidez, y me imagino que terminaríamos con decenas de sucursales con bastante rapidez si hiciéramos una para cada boleto.