Ртутный эквивалент Git's HEAD ~ 1 - PullRequest
6 голосов
/ 09 июня 2011

В git довольно удобно идентифицировать коммит относительно последнего коммита в репо с HEAD~1.

Я искал и не могу найти эквивалент для этого в Mercurial.Я нахожу цифры редакции Mercurials довольно раздражающими.

Ответы [ 3 ]

10 голосов
/ 09 июня 2011

Функция revset в Mercurial чрезвычайно мощная (и гораздо менее таинственная, чем синтаксис спецификации редакции git): см. hg help revsets (или онлайн по адресу: http://www.selenic.com/mercurial/hg.1.html#specifying-revision-sets).

См. Здесь список предикатов (Iне знаю, почему они не отображаются в онлайн-документе): http://hg.intevation.org/mercurial/crew/file/e597ef52a7c2/mercurial/revset.py#l811

В вашем случае это будет: p1(tip).

7 голосов
/ 20 ноября 2015

Правильный ответ .^ или .~1.

tip указывает на последнюю ревизию, которая вошла в репозиторий, не текущая ревизия, в которой вы находитесь. Любые ответы, включающие в себя tip, являются неверными.

Синтаксис revset Mercurial более подробно описан здесь: https://www.mercurial -scm.org / repo / hg / help / revsets

x^n: n-й родительский элемент x, n == 0, 1 или 2. Для n == 0, x; для n == 1 первый родитель каждого набора изменений в x; для n == 2, второй родительский набор изменений в x.

x~n: n-й первый предок х; «х ~ 0» - это х; «x ~ 3» - это «x ^^^». Для n <0 n-й однозначный потомок x. </p>

x^: эквивалентно «x ^ 1», первому родителю каждого набора изменений в x.

6 голосов
/ 09 июня 2011

Существует ртутное расширение , которое добавляет git-подобные команды.
Конкретная команда: hg log -pr .^1.

Для получения дополнительной информации см. проверка изменений в hg

Редактировать: Использовать .^1, а не tip^1. Как упоминалось ниже, tip дает самый последний коммит во всем репо, что, возможно, не то, что вы хотите. . ближе по значению к git HEAD. (См. Также: Укажите точку в качестве версии в Mercurial )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...