2010-05-25 4 views
4

La commandeVersion locale uniquement de `hg outgoing`?

hg outgoing 

compare le repo local à l'emplacement par défaut push; il accède à l'emplacement de poussée pour le faire.

Je voudrais poser la question: « Ai-je vérifié des changements dans mon repo locale depuis mon dernier hg push? » sans avoir à accéder au repo distant.

Il semble que il pourrait y avoir assez d'informations dans le repo local pour comprendre cela; Si oui, y a-t-il une commande pour le déterminer?

+0

[MercurialEclipse] (https://mercurial.selenic.com/wiki/MercurialEclipse) a la fonction. Il affiche le nombre de validations en attente sur la main droite à partir du nom de la branche, par ex. '↑ 10'. – saaj

Répondre

9

Il n'y a pas un moyen intégré pour le faire. Suivre ce qui a été poussé serait un peu délicat parce que vous pouvez pousser à plusieurs endroits. Et vous pouvez tirer de plusieurs endroits. Je pourrais donc pousser à X puis pousser à Y puis tirer de Z et ma sortie « sortant hg X » est difficile à prédire local uniquement.

Cela dit, vous pouvez utiliser une commande comme ceci:

hg tag --local --force -r tip pushed 

Cela crée une étiquette locale uniquement pointant vers la pointe actuelle. Si vous courez toujours après avoir poussé, vous saurez toujours ce qui a été poussé pour la dernière fois.

Vous pouvez créer un crochet post-pousser à faire dans votre .hgrc:

[hook] 
post-push = hg tag --local --force -r tip pushed 
+0

Dans les deux dernières lignes, cela ne devrait-il pas être le hook 'outgoing', pas le hook' commit'? –

+0

Merci, Niall. Je voulais vraiment le hook post-push, puisque c'est ce que nous suivons, mais post-commit était définitivement faux. –

+0

Cela a du sens. Merci @ Ry4an pour la bonne idée. – Grumdrig

Questions connexes