2010-06-27 20 views
0

Je me sers TortoiseHG depuis un certain temps et j'ai couru dans le même problème de temps en temps.TortoiseHG: défaisant commit qui échoue

Parfois, quand je remets mon travail, il me donne une erreur, en disant que l'un (ou plusieurs) de mes fichiers est utilisé par un autre processus. Cependant, la validation continue et est visible dans le navigateur du référentiel.

Ensuite, après la fermeture des processus qui ont provoqué l'erreur, je rouvre la boîte de dialogue Livrer qui dit qu'il ya des changements encore être commis (ce qui signifie le premier commettras n'a pas vraiment faire quoi que ce soit). Je ne commettre une autre, qui accomplit ce que je voulais faire en premier lieu, mais maintenant j'ai un autre problème: le dépôt a maintenant deux têtes. Bien sûr, je suis forcé de fusionner les deux têtes après cela, mais mon processus semble sale.

Y at-il une meilleure façon de contourner ce problème, comme par une certaine façon défaisant la commettras (mais pas revenir mes fichiers), ou devrais-je dérange pas des choses comme le nettoyage ça? À la ligne de commande devrait revenir à la validation, mais pas les changements (je n'utilise pas tortoisehg, donc pas clair si cela met dans une belle interface utilisateur)

Répondre

1

hg rollback

+0

On dirait qu'il fait, grâce à la boîte de dialogue de récupération. Je vais essayer la prochaine fois qu'une telle chose arrive (très bientôt). –

+0

Aussi, est-il possible de revenir en arrière maintenant et de se débarrasser des commits défectueux (et donc, les fusions, aussi)? –

+2

Ne vous concentrez pas trop là-dessus - ils ne sont pas "défectueux" mais simplement un enregistrement de ce qui s'est passé. Vous devriez bannir de votre esprit l'idée d'essayer de «réparer» l'histoire dans un système de contrôle de révision - l'histoire est déjà arrivée, elle est immuable. (La seule fois où vous voudrez risquer des choses vraiment mauvaises pour changer l'histoire, c'est si vous avez commis des codes de lancement nucléaires dans votre RCS par erreur). –