2011-04-08 12 views
6

Dada repositorio A y B repositorio (creada fuera un clon del conjunto de cambios A2):Mercurial - diferencias fusionando repositorio A-> B vs B-> A?

A1 - A2 - A3 - A4 - A5 
     \ 
      B3 - B4 

Decir que queríamos para combinar estos dos repositorios juntos. ¿Hay alguna diferencia si fusionamos el repositorio B en el repositorio A en lugar del repositorio A en el repositorio B?

La única diferencia que puedo pensar es que la herramienta de fusión local/base arguments se invertirá según la opción que elija. ¿Hay alguna otra diferencia que tener en cuenta?

+2

nota Terminología: combinar cabezas * * * y no repositorios * (que puede tener varias cabezas). –

+0

Entendido - thx. –

+0

Actualicé la pregunta para usar la terminología Mercurial normal. –

Respuesta

8

Generalmente fusiones son simétricas, con unas pocas excepciones:

  • Si las cabezas fusionadas son de diferentes nombrados ramas, el orden es importante. La revisión de combinación estará en la rama del primer padre.
  • A partir de Mercurial 1.8.4, lo mismo se aplica a los marcadores, es decir, solo el marcador
    del primer elemento principal avanzará a la revisión de fusión.
  • El orden de los padres de la revisión de combinación en las vistas de registro y diferencia es diferente, pero no tiene ninguna implicación práctica notable (según mi experiencia).
+0

Quizás usted lo sepa. Siempre he trabajado asumiendo que debería fusionarme en la rama con el menor número de cambios (es decir, actualizar a h1 y fusionar en h2, donde h2 tiene menos cambios desde un punto común que h1), es realmente necesario entonces, para hacer lo "mejor"? Tal vez menos trabajo para el algoritmo de fusión o lo que sea? No recuerdo por qué hice esa suposición, pero a juzgar por su respuesta, y cuanto más pienso en ello, parece que mi suposición es errónea. Sin embargo, esto no está relacionado con múltiples ramas con nombre, solo dos cabezas en la misma rama con nombre, como, por ejemplo, en la rama predeterminada. –

+0

Punto interesante. Si lo pienso, también tiendo a fusionar la rama con menos cambios en la que tiene más. Pero, técnicamente, tampoco puedo pensar en una buena razón. Tal vez esta suposición es una idea errónea basada en cómo se haría la fusión si tuviera que hacerse de forma completamente manual. –

+0

Creo que iré a preguntar en la lista de correo de Mercurial, regresaré con un comentario si consigo algo definitivo de una forma u otra. –

4

El orden de los padres para la fusión será diferente, pero eso solo afectará a la diferencia que vea primero cuando busque el conjunto de cambios de fusión. De lo contrario, no hay ninguna diferencia si actualiza a B4 y se fusiona con A5 o viceversa.

Cuestiones relacionadas