77 votes

Abandonner une fusion dans Mercurial

J'ai fait une fusion. J'aimerais revenir puis réessayer.
Existe-t-il un moyen de revenir sur une fusion avant qu'elle ne soit validée?

hg revert ne fait pas ce que je voudrais, il retourne seulement le texte des fichiers. Mercurial abandonne ma deuxième tentative de fusion et se plaint que la fusion initiale n’est toujours pas engagée.

Existe-t-il un moyen d'annuler une fusion après une commande hg merge mais avant qu'elle soit validée?

99voto

Omnifarious Points 25666

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

37voto

Martin Geisler Points 44779

Après vous n' hg merge, mais avant d' hg commit, votre copie de travail contient deux parents: le premier parent est l'ensemble de modifications que vous avait mis à jour avant la fusion et le deuxième parent est l'ensemble de modifications que vous fusionnez avec. Mercurial ne vous laisserons pas faire hg merge nouveau aussi longtemps que votre copie de travail contient deux parents.

Vous avez deux options sur la façon de procéder:

  1. Si vous souhaitez annuler la fusion et de revenir à l'endroit où vous avez commencé, puis faire

    hg update -C .
    

    Cela permettra de mettre à jour la copie de travail pour correspondre à la première parent: l' . toujours dénote le premier parent de la copie de travail.

  2. Si vous voulez re-fusionner certains fichiers puis de les faire

    hg resolve fileA fileB
    

    Cela re-lancement de la fusion des outils comme si vous n' hg merge. La résolution de la commande est bonne si vous découvrez à l' hg merge-le temps que l'opération de fusion et les outils sont mal configuré: correction de la configuration et d'exécution hg resolve --all. Vous pouvez exécuter hg resolve autant de fois que vous le souhaitez jusqu'à ce que vous êtes satisfait de la fusion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: