2010-10-20 15 views
68

Me metí en una fusión. Me gustaría revertir y luego volver a intentarlo.
¿Hay alguna manera de revertir una fusión antes de que se confirme?¿Cómo abortar una fusión en mercurial?

hg revert no hace lo que me gustaría, solo revierte el texto de los archivos. Mercurial aborta mi segundo intento de fusión y se queja de que la fusión original todavía no está comprometida.

¿Hay alguna manera de deshacer una combinación después de un comando hg merge pero antes de que se haya confirmado?

+0

duplicado posible de [Cómo abandonar una combinación de Hg?] (Http://stackoverflow.com/questions/2570087/how-to-abandon-a-hg-merge) – Rodrigue

Respuesta

86

hg update -C <one of the two merge changesets>

+0

simple, eficiente y, lo piensa, la mejor manera de hacerlo! : D –

+37

Otra forma es simplemente 'hg update --clean .' –

+1

que no debe confundirse con -c (minúscula)! – SystemParadox

35

Después de hacer hg merge, pero antes de hg commit, su copia de trabajo tiene dos padres: el primer padre es el conjunto de cambios que habías actualizado para antes de la fusión y la segunda matriz es el conjunto de cambios está fusionando con. Mercurial no le permitirá hacer hg merge nuevamente, siempre y cuando su copia de trabajo tenga dos padres.

tiene dos opciones sobre cómo proceder:

  1. Si desea abortar la fusión y volver al punto de partida, y luego hacer

    hg update -C . 
    

    Esto actualizará la copia de trabajo para que coincida con el primer padre: el . siempre denota el primer padre de la copia de trabajo.

  2. Si desea re-fusionar algunos archivos a continuación, hacer

    hg resolve fileA fileB 
    

    Esto volverá a poner en marcha las herramientas de mezcla al igual que cuando lo hizo hg merge. El comando de resolución es bueno si se encuentra al hg merge -tiempo en que las herramientas de fusión están mal configuradas: corrija la configuración y ejecute hg resolve --all. Puede ejecutar hg resolve tantas veces como desee hasta que esté satisfecho con la fusión.

Cuestiones relacionadas