Как просмотреть один Mercurial коммит из командной строки?

Я хотел бы посмотреть из командной строки, что было изменено в данном Mercurial коммит, аналогично тому, что можно увидеть из hg status или из инструмента TortoiseHg. Самое близкое, что я могу получить, это hg log --stat но это печатает дополнительные символы (то есть плюсы и минусы), и я не могу указать, какую именно ревизию я хочу посмотреть.

Мне это нужно, потому что у меня есть разработчики, у которых есть комментарии к регистрации, такие как "." или же ",". >:-(

2 ответа

Оказывается, что hg status имеет --change Аргумент, в котором вы можете передать номер ревизии (например, 109), относительную ревизию (т. е. -1 - последний коммит, -2 - второй-последний и т. д.) или хэш ревизии - и он выведет изменения (т. е. дополнения, удаления и модификации), что пересмотр был.

--change изолирует эту ревизию и показывает только от этой ревизии, но заменяет --change с --rev показывает совокупный эффект с тех пор, как этот пересмотр в текущем состоянии.

hg log -v -r <changeset>

changeset:   563:af4d66e2bc6e
tag:         tip
user:        David M. Carr <****>
date:        Fri Oct 26 22:46:02 2012 -0400
files:       hggit/gitrepo.py tests/test-pull.t
description:
pull: don't pull tags as bookmarks

или, используя шаблоны, что-то вроде

hg log -r tip --template "{node|short} - files: {files}\n"

с выходом

af4d66e2bc6e - files: hggit/gitrepo.py tests/test-pull.t
Другие вопросы по тегам