Mi equipo de desarrollo ha trabajado con subversion por bastante tiempo. La forma en que manejan el tronco y las ramas es la siguiente:Subversion Branch/Trunk Best Practice: ¿mantener actualizada la sucursal?
Nosotros (casi) siempre se suelte del tronco
Cada versión tiene su propia rama.
Cuando un lanzamiento está listo para QA, fusionamos la rama nuevamente en el tronco y creamos una nueva rama para la siguiente versión.
Los desarrolladores trabajan desde el tronco o la rama, pero no hay ramas específicas del desarrollador.
Últimamente, hemos tenido algunas sesiones de fusión de pesadilla, en parte debido a algunos cambios importantes en la aplicación. Estos no siempre se ejecutan sin problemas y los problemas a veces aparecen durante el control de calidad, donde la subversión no se fusionó del todo bien.
Una solución podría consistir en fusionar los cambios en el tronco en la rama de publicación de forma periódica, por ejemplo, semanalmente, para garantizar que los cambios más recientes en el tronco estén en la bifurcación. Los conflictos pueden ser arreglados más cerca de tiempo real.
¿Cuál es su experiencia con este problema? ¿Hay una mejor práctica estándar? Además, ¿tiene una buena manera de mantener un registro de las revisiones que se han fusionado en la sucursal (los comentarios decentes en subversión probablemente podrían manejar eso).
Somos un equipo relativamente pequeño (4 desarrolladores), por lo que siempre involucramos a todos en la fusión (al menos los relevantes). Parece que una rama de integración podría ser el camino a seguir. – jonstjohn
No estoy de acuerdo. Siempre he ramificado todas las funciones y errores en equipos en los que he estado y simplemente es la mejor opción. Funciona por muchas razones. No hay razón para no hacerlo. – PositiveGuy
Si usa una herramienta de control de versiones que hace que las ramificaciones sean muy livianas, como Git, estaría de acuerdo. Con Subversion o Perforce, etc. definitivamente hay más sobrecarga cuando se ramifica para una solución de error simple. Sí, mi consejo ahora sería migrar tu repositorio SVN a Git. :) –