two tortoise branches svn merge branch

svn - branches - tortoise merge



Reintegración de la sucursal de Subversion en v1.6 (3)

Sí tu puedes. El problema que preguntas fue resuelto en Subversion 1.8.

Comenzando con SVN 1.8, la opción de reintegración está en desuso y las fusiones de reintegración ahora se realizan automáticamente (o automágicamente :) ). Ver Notas de la versión de Subversion 1.8 y leer SVNBook actualizado 1.8 | Reintegrando un capítulo de rama :

Si elige no eliminar su rama después de reintegrarla al tronco, puede continuar realizando fusiones de sincronización desde el tronco y luego volver a integrar la rama. Si hace esto, solo los cambios realizados en su rama después de la primera reintegración se fusionan en el tronco.

...

Solo Subversion 1.8 admite esta reutilización de una rama de características. Las versiones anteriores requieren un manejo especial antes de que una rama de características se pueda reintegrar más de una vez. Consulte la versión anterior de este capítulo para obtener más información: http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.reintegrate

IMPORTANTE: debe actualizar su cliente y servidor de Subversion si aún utiliza Subversion 1.7 o una versión anterior. La versión actual y mejor de SVN es 1.9 en el año 2016. No hay una razón real para utilizar versiones de Subversion muy antiguas como 1.5, 1.6 o incluso 1.7. ¡Hubo numerosas mejoras en el lado del cliente y del servidor desde la versión 1.6!

Esta pregunta ya tiene una respuesta aquí:

Según esta vieja pregunta , utilizando SVN 1.5, la reintegración de una rama varias veces es problemática y debe evitarse.

Se ha dicho algo así como: "Este es un problema conocido y debería solucionarse en SVN 1.6". ¿Era ese el caso? ¿Esta arreglado? ¿Puedo reintegrarme varias veces?


Si bien 1.6 realmente solucionó los problemas con el seguimiento de fusión, no creo que pueda volver a utilizar una rama integrada.

Pero esto no es un problema. Como la rama se integró completamente en el tronco, simplemente elimínela y cree una nueva rama (con el mismo nombre) en su lugar.


Para fusionar un tema de rama en el tronco repetidamente : Haga lo siguiente en cada combinación.

  1. svn merge --reintegrate <topic> <trunk> , como lo harías normalmente. ( => r M )
  2. svn merge --record-only -c M ^/<trunk> <topic> . Tenga en cuenta la opción de record-only .

El paso 2 básicamente le dice a la rama del tema que considere la parte de la historia de la ejecución de la fusión (revisión M , del paso 1). Esta fusión-revisión es la que generalmente causa problemas durante la reintegración; svn intenta deshacer rM al integrar el tema por segunda vez.

Entonces, la reintegración repetida funciona, simplemente no de manera automática. :)

Eventualmente encontré esta solución a través de un mensaje de compromiso esclarecedor para la fuente svn y la test coincidencia (busque "def multiple_reintegrates"). Este es un "truco inteligente" descubierto y utilizado por svn-devs con las versiones actuales. Incluso se ha agregado a la documentación más reciente . El resultado aún no es tan bueno como las propiedades de fusión de un DVCS, pero al menos es funcional.

La única desventaja general (según un problema abierto a partir del 2 de junio de 2010) es que aparentemente la salida svn log -g es desordenada. Supongo que este es el riesgo.