26 noviembre 2009

Hacer un merge entre dos ramas de SVN

No es la primera vez que me enfrento a ello, pero siempre se me olvida cómo se hace y pierdo un montón de tiempo con ello. Así que lo apunto:

El escenario son 2 rama: el trunk y un branch del primero. El branch se creó en el día D, y en la revisión 100 (esto es importante!, mirad el log del svn si no lo sabéis). Hoy, trunk está en la revisión 400. El objetivo es mover todos los desarrollos de la branch a trunk.

1. Lo primero que hay que hacer es sincronizar todos los cambios de branch y trunk, y asegurarse que nadie trabaja en branch
2. Se baja la última versión de trunk, y no se modifica!
3. Se selecciona el proyecto trunk, y se pulsa en Team/Merge…
4. En el campo From se elige el proyecto Trunk en la revisión 100 (cuando se creó el branch!)
5. En el campo To se elige el proyecto Branch, en la HEAD revision
6. Ejecutar un DryRun. Esto simula el merge y así se puede ver si vamos bien o no
7. Ejecutar el Merge
8. Revisar todos los conflictos, los ficheros que se han borrado del trunk (aparecerán como nuevos, con el ? de svn). Borrarlos definitivamente, o no.

Y bueno, ahora volver a hacer un syncronize y un commit a ver que conflictos encontramos

No hay comentarios: