Cómo abortar una fusión en mercurial?


Metí la pata en una fusión. Me gustaría volver a intentarlo.
¿Hay alguna forma de revertir una fusión antes de que se confirme?

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 aún no está comprometida.

¿Hay una manera de deshacer una fusión después de un comando hg merge pero antes de que se confirme?

Author: k0pernikus, 2010-10-20

2 answers

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

 94
Author: Omnifarious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-20 18:28:03

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 al que había actualizado antes de la fusión y el segundo padre es el conjunto de cambios con el que está fusionando. Mercurial no te dejará hacer hg merge otra vez mientras tu copia de trabajo tenga dos padres.

Tienes dos opciones sobre cómo proceder:

  1. Si desea abortar la fusión y volver a donde comenzó, entonces haga

    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 quieres volver a fusionar algunos archivos, entonces haz

    hg resolve fileA fileB
    

    Esto reiniciará las herramientas de fusión tal como lo hizo hg merge. El comando resolver es bueno si descubre en hg merge-time que sus 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 el fusionar.

 35
Author: Martin Geisler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-25 06:13:52