Je commence à collaborer avec Mercurial. Ma situation:
hg pull
ed et hg merge
d sans une idée claire de ce qui se passait.Donc, j'aurais vraiment aimé avoir changé mon repo locale en retrait à 2 espaces avant de fusionner; alors la fusion sera triviale (je suppose). Mais je n'arrive pas à revenir en arrière. Je pense que j'ai besoin de hg update -r 3
mais il est dit abort: outstanding uncommitted merges
.
Comment annuler la fusion, modifier l'espacement dans mon référentiel local et le rétablir?
Vous pouvez annuler les modifications non validées avec l'indicateur -C (ou --clean):
hg update -C -r 3
ATTENTION: Tout ce qui n'a pas été engagé sera parti!
Après cela, vous devriez probablement utiliser une sorte d’outil de formatage de code pour effectuer toute l’opération, ou au moins trouver et remplacer par des expressions régulières. Quelque chose d'aussi simple que de remplacer ce qui correspond à ^____
(utilisez 4 espaces au lieu de traits de soulignement) avec __
(2 espaces), répété quelques fois (sauf si vous avez un code imbriqué) devrait fonctionner.
BTW: si vous annulez simplement la fusion que vous avez faite et que 3 n'est pas votre numéro de révision, vous pouvez le faire:
hg update -C -r .
Pour annuler une fusion non validée, utilisez
hg update --clean
qui extraira une copie vierge du parent de fusion original, perdant toutes les modifications.
J'ai apparemment juste besoin de hg update -C -r 3
, Qui écrase mes fichiers locaux avec le révérend en tête (ce que je pensais que hg update
Ferait; mais j'avais tort.) Merci de mon aide!