Как я могу перечислить серию ревизий, используя 'hg log'? - PullRequest
18 голосов
/ 17 октября 2011

Я пытаюсь использовать команду hg log, чтобы показать серию ревизий, от x до y .

Когда я делаю это:

hg log -r 1+5

Я получаю это:

changeset:   1:7320d2a9baa5
user:        Tim Post <tpost@whereiwork.com>
date:        Fri Sep 30 20:38:29 2011 +0800
summary:     Foo foo everywhere is foo

changeset:   5:8d6bea76ce60
user:        Tim Post <tpost@whereiwork.com>
date:        Fri Sep 30 20:51:42 2011 +0800
summary:     Blah blah blah

То есть понимание Mercurial, что я хочу видеть ревизии один и пять вместо одного до пять.

Как ни странно, это работает:

hg log -r 1+2+3+4+5

Но это становится чрезвычайно громоздким, особенно при попытке получить сводку между ревизиями, которые находятся на +500 друг от друга.

Есть ли способ получить журналы для ревизий от x до y вместо x и y без объединения всех ревизий в серии?

Я использую выходные данные, чтобы определить, сколько обязательств каждый разработчик принял в данной серии. Если я просто не могу сделать это с помощью команды hg, я более чем открыт для использования Mercurial API. Я прибег к команде hg, потому что я не видел очевидного способа сделать это через API.

Под API я имею в виду просто использование Python через хук или расширение.

1 Ответ

24 голосов
/ 17 октября 2011

hg log -r1:5.

В Mercurial есть целый мини-язык, посвященный выбору ревизий для команд (не только для журналов). Для получения дополнительной информации см. hg help revsets (требуется Mercurial 1.6 +).

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