Ejemplo real de uso de Subversion. Parte II, branching and merging

Ahora, en este Curso práctico de Subversion, nos vamos a poner en el lugar de Alicia y Roberto, los estudiantes de una asignatura de programación que deben superar su práctica en equipo. Recuerda que el profesor les ha dejado preparado este repositorio SVN que contiene el código base de la aplicación.

Llegados aquí, vamos a ver una cosa nueva en el manejo de SVN: la creación de ramas (branching) y la incorporación posterior de dichas ramas a la línea de desarrollo principal (merging). Con el branching y el merging en nuestra metodología de trabajo ya podemos definir un flujo real (Subversion workflow).

Como si se tratara de un algoritmo, Alicia y Roberto deben seguir este flujo cuando vayan a desarrollar una nueva funcionalidad, cada uno por su parte, para no interferir entre sí:

1. Asegurarse de que la rama trunk está actualizada:

2. Comprobar la revisión del trunk:

3. Crear una rama nueva a partir del trunk:

4. Saltar a la nueva rama recién creada:

5. Ir desarrollando la nueva funcionalidad en la rama recién creada.

Subversion branch

Figura 1. Creando una rama en Subversion (imagen tomada del libro Control de versiones con Subversion)

Pasado un tiempo, cuando Alicia/Roberto haya terminado su trabajo, deberá seguir este otro flujo para subir sus cambios al repositorio central:

1. Asegurarse de que su rama está actualizada:

2. En su rama, hacer un sync merge (merge de sincronización) con el trunk.

Evolución del trunk

Figura 2. Esto es porque normalmente mientras uno desarrolla una rama, el resto de componentes del equipo va incorporando sus cambios al trunk (imagen tomada del libro Control de versiones con Subversion)

3. Saltar al trunk:

4. En el trunk, reintegrar su rama: