Ссылка на меркуриальную ревизию относительно именованной ревизии

В git вы можете ссылаться на ревизии, например, как master^^, что означает две ревизии перед мастером. Можете ли вы каким-то образом сделать то же самое в Mercurial (или с каким-то расширением)? Например, если я хочу сделать "ревизию перед подсказкой", что-то вроде tip^.

редактировать: Рафа упоминает hg parents, который работает на 1 уровень в глубину. Как мне это сделать для произвольных уровней глубины.


person Paul Biggar    schedule 23.08.2010    source источник


Ответы (3)


Для команд, у которых есть параметры для указания ревизии, используйте -r -2 для ревизии до подсказки, -r -3 для ревизии перед ней и т. д.

От hg help revs:

Простое целое число рассматривается как номер версии. Отрицательные целые числа обрабатываются как последовательные смещения от вершины, где -1 обозначает вершину, -2 обозначает ревизию до вершины и так далее.

Существует также ParentrevspecExtension, который позволяет использовать такой синтаксис, как: tip^ для родителя наконечника, tip^^ для его родитель и т. д.

person Niall C.    schedule 23.08.2010

Как упомянул Найл С., когда ревизии являются линейными, можно использовать отрицательную спецификацию, чтобы вернуться, начиная с вершины (очевидно, работает только с линейной историей).

Начиная с Mercurial 1.6, есть что-то похожее на Parentrevspec, но в основном для обозначения сложной спецификации ревизии: наборы версий.

Например, "p1(tip)" является первым родителем "tip" и т. д.

person tonfa    schedule 23.08.2010

Вы можете сделать "hg родителей -r ревизия"

person Rafa de Castro    schedule 23.08.2010
comment
Кажется, я не могу делать произвольных родителей, таких как tip^^^. Есть ли способ сделать это? (уточню вопрос). - person Paul Biggar; 23.08.2010