Je suis nouveau dans la collaboration avec Mercurial. Ma situation:
- Un autre programmeur a changé la version 1 d'un fichier pour remplacer les retraits de 4 espaces par un retrait de 2 espaces. (Ie a changé chaque ligne.) Appelez cela rev 2, poussé vers le repo distant.
- J'ai commis des changements de fond rev 1 avec divers changements de code dans mon espace de travail local. Appelez ça rev 3.
- J'ai
hg pull
ed ethg merge
d sans une idée claire de ce qui se passait. - Les conflits sont innombrables et pas vraiment substantiels.
Je souhaite donc vraiment avoir changé mon dépôt local en retraits de 2 espaces avant de fusionner; alors la fusion sera triviale (je suppose). Mais je n'arrive pas à reculer. Je pense que j'en ai besoin hg update -r 3
mais ça le dit abort: outstanding uncommitted merges
.
Comment puis-je annuler la fusion, modifier l'espacement dans mon dépôt local et refondre?
M-x indent-region
comme le tour de réindentation.BTW: si vous inversez simplement la fusion que vous avez faite et que 3 n'est pas votre numéro de révision, vous pouvez le faire:
la source
.
est un raccourci vers la révision précédente.hg help update
que j'obtiens: si aucun jeu de modifications n'est spécifié, mettez à jour la pointe de la branche nommée actuelle ... et la pointe peut ne pas toujours être votre révision actuelle sur laquelle vous travaillez. Je ne l'ai pas testé, pour l'instant ..-r .
est le mêmePour annuler une fusion non validée, utilisez
qui va extraire une copie propre du parent de fusion d'origine, perdant toutes les modifications.
la source
J'avais apparemment juste besoin de le faire
hg update -C -r 3
, ce qui écrase mes fichiers locaux avec la révision à l'esprit (ce que je pensaishg update
faire; mais j'avais tort.) Merci pour mon aide!la source
-C
ou--clean
est la façon dont vous dites à Mercurial de continuer, même s'il rejettera certains fichiers modifiés. Vous avez raison, cela voushg update -r X
mènera normalement à la révision X, mais lorsque vous êtes dans une fusion, vous devez insister un peu plus :-)