Как я могу проверить набор изменений в mercurial, не глядя на своего родителя? В меркуриале, что эквивалентно
git show HEAD^
Git -show дает метаданные набора изменений и diff.
Ответ 1
Ваш вопрос состоит из двух частей. Во-первых, как получить метаданные и diff для набора изменений сразу:
hg log --patch --rev tip
Вы можете сократить параметры:
hg log -pr tip
Вторая часть вопроса - это сказать "родительский набор изменений X", не глядя на него. Для этого вы можете использовать расширение parentrevspec, о котором говорил Мартин.
После включения расширения вы можете:
hg log -pr tip^
Вы можете добавить псевдоним в ваш файл ~/.hgrc, если вы не хотите переустанавливать свои пальцы из команды git:
[alias]
show = log -pr
Затем вы можете использовать:
hg show tip^
Ответ 2
Я думаю, вы хотите hg export cset.
Ответ 3
Точный эквивалент "git показывает HEAD ^":
hg log -pr -2 # -1 (last commit), -2 - one before it, etc.
или, например, если вы хотите посмотреть последние 3 фиксации (с разницей):
hg log -pr -3: # colon means start 3 commits behind and up to tip inclusive
Немного допоздна с ответом, но все же.:)
UPDATE: видимо, теперь HG поддерживает синтаксис git:
hg exp tip^^^..tip
или
hg log -pr tip~4
Ответ 4
Вы также должны взглянуть на parentrevspec extension, чтобы включить более синтаксис Git для указания ревизий.
Ответ 5
Если вы просто хотите увидеть содержимое и дифференциал фиксации, используйте это:
hg diff -c <the commit hash or bookmark name>
Чтобы увидеть фиксацию, которую вы проверили (HEAD в git), сделайте следующее:
hg diff -c -1
Если вы хотите увидеть фиксацию перед ней (HEAD ^ в git), сделайте следующее: