Estoy a punto de comenzar a trabajar en una nueva versión (versión 4) de mi aplicación comercial. Yo uso Subversion.
Según sus experiencias, errores y éxitos, ¿cómo recomendaría que configure la nueva versión en Subversion?
Aquí hay algo de información: tengo la intención de seguir lanzando actualizaciones críticas en la versión 3 durante algún tiempo después del lanzamiento de la versión 4. Sin embargo, todo el desarrollo de nuevas características se realizará únicamente en la versión 4.
En caso de que sea relevante: soy un desarrollador en solitario de este producto, y es probable que siga siendo así.
EDITAR: conozco las etiquetas y ramas de SVN. Supongo que lo que necesito es una estrategia óptima para usar etiquetas y ramas en mi situación.
fuente
Depende.
Puede mantener la versión 4 en el tronco y continuar desarrollando en V4. La versión 3 sería una rama, que actualizarías según sea necesario. El beneficio de este enfoque es que si se descubrió un problema crítico en V3 que también está en V4, podría hacer una simple fusión en el archivo (s) a través de las ramas.
La otra opción es crear un repositorio completamente nuevo para V4. Esto te dará un nuevo comienzo. La desventaja es que el historial de cambios se restablece y no podrá fusionar archivos a través de Subversion. Tendrá que usar un programa como Beyond Compare para fusionar los cambios.
Personalmente, me quedaría con el primer enfoque. Cree una rama V3 y mantenga el código y las actualizaciones en esta rama. El nuevo código V4 se puede desarrollar en el tronco.
fuente
Encontré una excelente guía para esta situación :
fuente
Lo que está preguntando es la estrategia de ramificación (y fusión) a utilizar. Así que toma el post de karthik t y tómalo como una receta.
Para algunos antecedentes, lea los siguientes recursos:
fuente