while two tortoise subversion ignoring cannot branches automatically svn merge version-control tortoisesvn

svn - two - ¿Por qué fusionar árboles al "último número de revisión en el que se sincronizaron los dos árboles"?



tortoise merge (2)

No entiendo por qué quieres fusionar la opción de árboles diferentes . De acuerdo con la imagen, debe usar la fusión de reintegración automática. Ver el Manual TortoiseSVN | Fusionando un rango de revisiones .

Use una copia de trabajo de su troncal en HEAD y seleccione la opción Fusionar un rango de revisiones y haga clic en Siguiente-Siguiente-Fusionar. La fusión de la rama al tronco debe completarse automáticamente.

En la documentación de TortoiseSVN sobre la fusión , las instrucciones para "Fusionar dos árboles diferentes" indican lo siguiente (el énfasis es mío):

En los campos De revisión y A revisión , ingrese el último número de revisión en el que se sincronizaron los dos árboles .

¿Es esto correcto? Esto no tiene ningún sentido para mí. Tomemos este ejemplo ilustrativo en el que deseamos fusionar "rama" en la revisión 105 de nuevo en "tronco":

Si no se había comprometido nada con el enlace troncal después de la bifurcación (es decir, si la revisión 101 no existía), nos fusionaríamos desde el enlace HEAD (que sería la revisión 100) al branch HEAD (revisión 105). Tiene sentido.

Pero 101 sí existe. Los documentos dicen que debemos unirnos desde el tronco en el último número de revisión en el que se sincronizaron los dos árboles (es decir, la revisión 100, que tiene total sentido) para ramificar en ... el último número de revisión en el que se sincronizaron los dos árboles ... ¿Que es que?

  • 102? (no, no está sincronizado con el maletero)
  • 100? (no, ni siquiera está en la rama)
  • ¿No debería ser realmente 105? Este parece ser el único que tiene sentido, pero para mí esto contradice a los documentos.

¿Que me estoy perdiendo aqui? ¿La documentación es correcta? ¿Engañoso? ¿Incorrecto?


No recomendaría usar svn para la ramificación estilo git que me parece que estás tratando de hacer, solo usa ramas si tienes buenas razones para ello (como tener una rama de producción y desarrollo o alguna característica que demorará mucho tiempo en desarrollarse). e impide que otros hagan su trabajo).

Simplemente porque svn copia y pega las carpetas enteras, en lugar de simplemente guardar los cambios como lo hace git, por ejemplo.

He quemado 4 unidades de disco duro fusionando cosas a diario en mis proyectos ...

No tiene que depender de Tortoise SVN y su documentación, Tortoise SVN es solo una GUI para svn.

Básicamente en SVN, no hay diferencia entre branch / tag o lo que sea, siempre se comporta de la misma manera, así que en mi humilde opinión, la documentación de Tortoise SVN es engañosa, no hay diferencia si estás fusionando branch en trunk, o viceversa.

También depende de la versión subyacente de SVN que tengas, es mejor tener versiones que dependan de svn 1.7 o superior.

Por lo tanto, si desea "reintegrar una sucursal", simplemente desde la línea de comandos, navegue hacia su troncal o hacia cualquier directorio que se llame y escriba

svn merge ^/branch/branch_name

Y eliminar la rama después de eso ...

Tortoise SVN también te permite tener svn en la consola, solo reiniciar su instalación y habilitar la función de línea de comando svn.