Quelle est la différence entre le rollback, le backout et le ssortingp dans le plugin Mercurial Eclipse?

Quelle est la différence entre les éléments de menu rollback, backout et ssortingp dans le plug-in Mercurial Eclipse?

Puis-je supprimer la validation dans le référentiel local sans modifier les fichiers de mon espace de travail avec l’une de ces 3 commandes?

Ou existe-t-il une autre solution pour engager et corriger une autre partie du projet? Mon travail actuel n’est pas terminé et je ne peux pas le pousser. Mais je dois vérifier une solution rapide pour une autre partie du projet.

La seule solution que je vois consiste à créer un deuxième espace de travail. Mais cela ressemble à un excès pour moi.

Ces commandes viennent toutes de Mercurial même, et il y a plein de bons messages de comparaison / contraste pour eux. Cependant, les voici en bref:

  • rollback : annuler un niveau. Annulera le dernier tirage ou commettra ( peut être dangereux )
  • backout : crée un nouveau commit qui est l’inverse d’un commit donné. L’effet net est une annulation, mais le changement rest dans votre histoire.
  • ssortingp : supprime ( détruit ) les modifications de l’historique. La suppression d’un ensemble de modifications supprime également tous ses enfants, de sorte qu’il ne peut être utilisé que pour tronquer l’historique, et non pour supprimer une tranche.

Tous les trois sont très bien décrits ici: http://www.selenic.com/mercurial/hg.1.html

Pour votre question 2, vous pouvez utiliser ssortingp pour supprimer le dernier commit et cela ne modifiera pas vos fichiers de répertoire de travail.

À votre question 3, vous pouvez facilement apporter des modifications à une autre partie de ce projet:

 hg commit -m 'commit your half done work' hg update OLDERCHANGESET # your working directory now is without the half-done-work .. do that quickfix ... hg commit -m 'quickfix' hg push tip # this pushes the tip revision (latest) and its ancestors, but the half-don't work isn't an ancestor so it doesn't get pushed hg update HALFDONEWORK # you can find the right revision number using "hg heads" 

C’est ce qu’on appelle une “twig anonyme” et c’est une façon très courante de travailler. Vous finissez par commettre la fonctionnalité à moitié terminée, mais vous pouvez la reprendre plus tard et vous n’avez pas à la pousser.

Cela a une grande explication des twigs anonymes: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/#branching-anonymously