2009-11-27 9 views
6

Trabajo en un entorno con ramificaciones múltiples paralelas a gran escala. En cuanto a GIT veo que tiene varias estrategias de combinación:¿Qué estrategias de combinación utiliza Mercurial?

already up-to-date 
fast-forward 
octopus 
resolve 
recursive 

¿El Mercurial tiene el equivalente de cada uno de estos? (Es decir, es la implementación del algoritmo de fusión de Mercurial tan bueno como recursiva?

+2

'ya actualizado' y' avance rápido' no son estrategias de fusión. Sin embargo, hay 'nuestro' y' subárbol'. –

+0

También de interés: http://kiln.stackexchange.com/questions/2983/what-is-the-algorithm-ordecision-process-used-by-mercurial-during-merge – VonC

Respuesta

9
    ya
  • hasta a la fecha de
  • avance rápido

Los que no están combinar estrategias, supongo que la primera de ellas es cuando no hay nada para fusionar (obviamente apoyado). El segundo no es una fusión, la actualización de Hg es equivalente a la de avance rápido (no hay nada para fusionar).

  • pulpo

No se aplica a mercurial, las fusiones se realizan siempre entre dos cabezas.

  • determinación

Esa es la predeterminada Combinar estrategias.

  • recursiva

probablemente se podría hacer con un script de combinación personalizada (hg, como git a llamar a herramientas externas para manejar la fusión). Pero nadie parecía interesado por el momento, tal vez porque no aporta muchas mejoras en comparación con la resolución.

+1

"avance rápido" no es rebase: en realidad es lo opuesto a "actualizado", en un sentido en que la rama actual es ancestro de una rama fusionada. De forma predeterminada (es decir, sin la opción '--no-ff') Git simplemente avanza en la ramificación en lugar de realizar la fusión sin sentido. –

+3

estrategia de fusión "recursiva" fue diseñada para tratar fusiones entrecruzadas y otras situaciones con más de una base de fusión .... y con cambios de nombre en dicha situación. –

+0

@Jakub, gracias, actualicé la parte sobre el avance rápido. Entonces es solo "actualización" en mercurial. ¿La estrategia recursiva hace una diferencia en la práctica? – tonfa