L'examen d'un ensemble de modifications dans HG
Comment puis-je examiner un ensemble de modifications dans mercurial sans lever les yeux de sa mère? Dans mercurial, ce qui est l'équivalent de
git show HEAD^
Git-spectacle donne à l'ensemble de modifications de métadonnées et les diff ainsi.
Vous devez vous connecter pour publier un commentaire.
Votre question comporte deux parties. Tout d'abord, comment obtenir les métadonnées et les diff pour un ensemble de modifications tout à la fois:
Vous pouvez raccourcir les options:
La deuxième partie de la question est comment dire "le parent de l'ensemble de modifications de X" sans regarder. Pour cela, vous pouvez utiliser le parentrevspec extension Martin mentionné.
Une fois que vous activez l'extension que vous pouvez faire:
Vous pouvez ajouter un alias à votre
~/.hgrc
fichier si vous ne voulez pas de recycler vos doigts de git de commande:Ensuite, vous pouvez utiliser:
hg export
est préféré (c'listes complète le message de validation, etc.).--verbose
/-v
à la commande log.log
, la production est beaucoup plus lisible par l'homme (la date et le nœud parent Id sont dans un format plus convivial) et il prend en charge--color
, contrairement àexport
.hg help revsets
est votre ami. Vous pouvez utiliser-r 'parents(rev)'
pour obtenir tous les parents (plusieurs dans le cas de fusion) ou-r 'p1(rev)'
ou-r 'p2(rev)'
pour la première ou de la deuxième parent d'un rév.Je pense que vous voulez
hg export cset
.Une commande similaire à "git show TÊTE^" serait:
OU
ou, par exemple, si vous voulez regarder les 3 derniers commits (avec diff):
Un peu de retard avec la réponse, mais tout de même. 🙂
Mise à JOUR: apparemment, maintenant HG prend en charge git syntaxe:
ou
git show
,hg log -pr
ne montre que le titre du message de commit pas l'intégralité du message. Pour afficher la totalité du message, il faut aussi passer-v
, comme danshg log -pvr REV
.hg log -pr -2
, et vu que le message a une seule ligne. Cette commande était censé être équivalent pourgit show
, il s'ensuit que je dois être sur le mauvais commit, j'ai donc passé du temps à essayer de savoir comment cela peut arriver. (Je n'ai accidentellement rebase/évoluer quelque chose?) En réalité, je n'ai jamais été sur le mal commis. Je n'ai pas downvote à “pinailler”; je downvoted parce que le fait que cette réponse était incorrecte m'a causé de la confusion et m'a fait perdre du temps.git show
était le même 6 ans en arrière. De toute façon j'ai mis à jour la réponse à ne pas utiliser le motequivalent
, pour éviter toute confusion.Vous devriez aussi jeter un oeil à la parentrevspec extension pour permettre à un plus Git-comme syntaxe pour spécifier des révisions.
Si vous voulez juste pour voir le contenu et différentielle d'un commit, utilisez ceci:
Pour voir le commit que vous avez vérifié (la TÊTE dans git), faites ceci:
Si vous voulez voir le commit avant elle (la TÊTE^ dans git), faites ceci:
Simple.