2009-06-13 20 views
7

He fusionado en Subversion/TortoiseSVN como esto un par de veces:La fusión de rama en el tronco con 'Combinar rango de revisiones'

Método A:

  • 1) cambio el tronco y comprometerse .

  • 2) Realizo otros cambios en una rama y me comprometo.

  • 3) En una copia de trabajo del tronco: que se fusionan de la rama utilizando TortoiseSVN de 'Fusionar un rango de revisiones'.

  • 4) A continuación, confirmo el tronco y elimino la rama.

Sin embargo, el TortoiseSVN-manual recomienda los siguientes en lugar de 3) y 4):

Método B:

  • 3 *) En una copia de trabajo de la rama: Merge cambios desde el tronco utilizando TortoiseSVN 'Fusionar un rango de revisiones'.

  • 4 *) Confirmar la derivación, incluidos los cambios en el maletero.

  • 5 *) En una copia de trabajo desde el tronco: Merge los cambios de la rama utilizando TortoiseSVN 'Reintegrar una rama'.

  • 6 *) Confirme el tronco y elimine la rama.

Me parece mucho más fácil y no he encontrado una razón por la que no debería hacerlo así.

¿Cuáles son los argumentos para el método B, o A, cuando se fusiona de una rama a la troncal?

+0

Apenas actualizó mi respuesta para responder a tu comentario. – VonC

Respuesta

11

Es llamada "rebasing" antes de la fusión: usted "rebase" (o actualiza) su rama local con las evoluciones del tronco antes de fusionar esa rama local al tronco.

Permite resolución lenta de la fusión dentro de su "rama", con posibles realiza poco.
Luego, cuando todo está hecho, puede hacer una fusión trivial de nuevo al tronco.
De esta forma, no tiene que retrasar las confirmaciones solo porque se está fusionando en el enlace troncal (ya que solo se deben permitir confirmaciones estables en el enlace troncal).

Consideraría dañino utilizar el enfoque 'A'?

No, si la fusión es trivial, con un resultado predecible.En ese caso, el enfoque B sería una pérdida de tiempo, una fusión adicional que no es necesaria (y siempre debe intentar hacer la menor cantidad de fusiones posible: cada una de esas operaciones puede ser propensa a errores)

Pero si el resultado no está bien definido de antemano, entonces se recomienda definitivamente el enfoque 'B', y le permite explorar el resultado de la fusión en su propia rama, antes de impactar en 'tronco'.

Ambos enfoques son útiles, uno no debe tratar de aplicar solo uno o solo el otro, sino el más adecuado a la situación en cuestión.

+1

Gracias por la respuesta. ¿Consideraría dañino usar el enfoque 'A'? –

0

En cuanto a gama Combinar las revisiones frente reintegrar a una rama:

Siguiendo resultados Método B en tener dos tipos de confirmaciones en la rama:

  1. únicos cambios en rama
  2. los cambios del tronco recogido del tronco haciendo sucesivos Fusionar el rango de revisiones

Al volver a fusionarse en el enlace troncal, debe elegir solo los cambios exclusivos de la bifurcación. Esto se hace por Reintegrar una rama.

Utilizando Merge rango de revisiones al final traerá al tronco una combinación de cambios troncales duplicados y cambios de ramas privadas.

Cuestiones relacionadas