2010-08-23 3 views
7

En git, vous pouvez faire référence aux révisions par quelque chose comme master^^, ce qui signifie deux révisions avant le maître. Pouvez-vous faire la même chose avec Mercurial (ou avec une extension)? Par exemple, si je veux faire "la révision avant la pointe", quelque chose comme tip^.Se référer à une révision mercurielle relative à une révision nommée

edit: Rafa mentionne hg parents qui fonctionne pour 1 niveau de profondeur. Comment puis-je le faire pour des niveaux arbitraires profonds.

Répondre

9

Pour les commandes qui ont des options pour spécifier une révision, utilisez -r -2 pour la révision avant la pointe, -r -3 pour la révision avant, etc.

de hg help revs:

un nombre entier brut est traité comme un numéro de révision. Les entiers négatifs sont traités comme des décalages séquentiels de la pointe, avec -1 indiquant la pointe, -2 indiquant la révision avant la pointe, etc.

Il y a aussi la ParentrevspecExtension qui vous permet d'utiliser la syntaxe comme: tip^ pour le parent de la pointe, tip^^ pour son parent, etc.

1

Vous pouvez faire « la révision des parents hg »

+0

Je ne semble pas être en mesure de faire les parents arbitraires, comme '' pointe ^^^. Y-a-t-il un moyen de faire ça? (Je vais clarifier la question). –

3

tel que signifié par Niall C., lorsque les révisions sont linéaires, il Il est possible d'utiliser la spécification négative pour revenir en début de pointe (ne fonctionne qu'avec l'historique linéaire, évidemment). A partir de Mercurial 1.6, il y a quelque chose de similaire à Parentrevspec, mais dans le noyau pour désigner une spécification de révision complexe: revsets.

Par exemple, "p1(tip)" est le premier parent de "tip", etc.

Questions connexes