He estado leyendo sobre la ramificación / fusión con Subversion 1.5 usando el excelente y gratuito Version Control con el libro de Subversion . Creo que entiendo cómo usar el cliente de línea de comandos de Subversion para realizar las acciones que necesito con más frecuencia, que son:
Actualizar rama con cambios desde el tronco
Desde el directorio de trabajo de la sucursal, ejecute:
svn merge http://svn.myurl.com/proj/trunk
Fusionar rama en tronco
Desde el directorio de trabajo del tronco, ejecute:
svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch
Sin embargo, estamos utilizando TortoiseSVN 1.5 como nuestra interfaz para Subversion. Me gustaría saber cómo realizar mejor estas operaciones con TortoiseSVN. El nuevo cuadro de diálogo proporciona tres opciones diferentes en el menú principal.
- Fusionar una gama de revisiones
- Reintegrar una rama
- Fusiona dos árboles diferentes
Por lo que puedo deducir, TortoiseSVN siempre ejecuta svn con la siguiente sintaxis.
svn merge [--dry-run] --force From_URL @ revN To_URL @ revM PATH
Además, la reintegración de una rama a menudo falla con un mensaje que indica que algunos objetivos no se han fusionado y que no puede continuar, por lo que tuve que usar la opción # 3.
Mis preguntas son:
- ¿Cómo uso TortoiseSVN 1.5 para fusionar los cambios del tronco a una rama?
- ¿Cómo uso TortoiseSVN 1.5 para fusionar la rama con el tronco, con y sin el método de reintegración?
- ¿Cuál de las opciones anteriores debo usar para cada una y por qué?
EDITAR
A través de las pruebas de "ejecución en seco", he encontrado que la operación de Subversion de línea de comando
svn merge http://svn.myurl.com/proj/trunk
es análogo a la opción n. ° 1 (Combinar un rango de revisiones) en TortoiseSVN, siempre que deje el rango de revisión en blanco.