version-control mercurial merge

version control - Fusión de Mercurial completamente manual.



version-control merge (4)

Desactiva la "fusión previa" en tu configuración de combinación. Entonces todo cuenta como un conflicto y puede seleccionar "izquierda" o "derecha" para cada cambio de archivo.

[merge-tools] mymergetool.premerge = False

de MergeToolConfiguration en el wiki de Mercurial .

¿Hay alguna manera de tomar el control manual completo sobre el proceso de fusión en Mercurial?

Quiero poder elegir la dirección de fusión de archivos, incluso para archivos sin conflictos. ¿Es eso posible?


Edite su archivo de configuración de esta manera:

[ui] merge = kdiff3 [merge-tools] kdiff3.premerge = false kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output

Por defecto, coloca el argumento --auto en kdiff3, por lo que kdiff3 se fusiona automáticamente.


En el caso de KDiff3, es vital agregar la opción --qall (consulte http://kdiff3.sourceforge.net/doc/documentation.html ). Habrá una fusión automática de algunos conflictos sin esta clave (como " Resolver automáticamente conflictos simples " en el menú " Combinar "). Así, la línea de comando más adecuada es:

[ui] merge = kdiff3 [merge-tools] kdiff3.premerge = False kdiff3.args=$base $local $other -o $output --L1 base --L2 local --L3 other --qall


Una fusión siempre se realiza entre la revisión principal del directorio de trabajo y otra revisión, de forma predeterminada, la otra cabecera en su repositorio.

Si desea fusionarse en la otra "dirección", puede cambiar qué rama está en su directorio de trabajo revisando una revisión específica:

hg update -r [rev]

Para ver qué cabezas tiene en su repositorio, ejecute el siguiente comando:

hg heads

Alternativamente, si está utilizando fetch , puede usar la opción --switch-parent para fusionar en la otra dirección:

hg fetch --switch-parent

No puede cambiar la dirección de la fusión en una base de archivo por archivo, ya que Mercurial trabaja con los conjuntos de cambios que afectan a todo el repositorio, no mediante el seguimiento de los cambios en archivos individuales como CVS.