2010-08-23 24 views
7

En git, puede hacer referencia a revisiones por algo como master^^, lo que significa dos revisiones antes del maestro. ¿Puedes hacer lo mismo en Mercurial de alguna manera (o con alguna extensión)? Por ejemplo, si quiero hacer "la revisión antes de la propina", algo así como tip^.Consulte una revisión mercurial relativa a una revisión nombrada

editar: Rafa menciona hg parents que funciona para 1 nivel de profundidad. ¿Cómo lo hago para niveles arbitrarios profundos?

Respuesta

9

Para los comandos que tienen opciones para especificar una revisión, utilizar -r -2 para la revisión previa a la punta, -r -3 para la revisión antes de eso, etc.

De hg help revs:

Un entero simple se trata como un número de revisión. Los enteros negativos se tratan como desplazamientos secuenciales desde la punta, con -1 que denota la punta, -2 que denota la revisión anterior a la punta, y así sucesivamente.

También existe la ParentrevspecExtension que le permite utilizar una sintaxis como: tip^ para el padre de la punta, tip^^ por su padre, etc.

1

Usted puede hacer "hg parents -r revisión"

+0

no parecen ser capaces de hacer los padres arbitrarias, como '' ^^^ punta. ¿Hay una manera de hacer eso? (Voy a aclarar la pregunta). –

3

Como mencionado por Niall C., cuando las revisiones son lineales, se es posible utilizar la especificación negativa para volver a empezar en la punta (solo funciona con la historia lineal, obviamente).

Comenzando con Mercurial 1.6, hay algo similar a Parentrevspec, pero en el núcleo para designar la especificación de revisión compleja: revsets.

Por ejemplo, "p1(tip)" es el primer padre de "tip", etc.

Cuestiones relacionadas