Mercurial: простой способ увидеть изменения от последнего фиксации
В Mercurial я могу видеть текущие (незафиксированные) изменения, запустив
$ hg diff
Fine. Но после фиксации я иногда хочу снова увидеть этот diff (т.е. Разницу последних наборов изменений). Я знаю, что могу достичь этого
$ hg log -l 1
changeset: 1234
tag ...
$ hg diff -c 1234
Я ищу способ сделать это в одной строке.
Ответы
Ответ 1
Используйте hg diff -c tip
или hg tip -p
(короче, но работает только для подсказки).
Это будет работать до тех пор, пока вы не потянете что-то, поскольку tip
является псевдонимом для самой последней версии, появляющейся в репо, либо с помощью локальной фиксации или
pull/push из удаленных репозиториев.
Ответ 2
Вы можете использовать относительные номера версий для параметра --change
:
hg diff -c -1
Подробнее см. fooobar.com/questions/139756/....
Ответ 3
Альтернативой является использование: hg diff --rev -2:-1
Эта форма имеет то преимущество, что ее можно использовать с помощью команды status
(например, hg st --rev -2:-1
), и ее использование позволяет легко запомнить, что делать, когда нужно определить различия между другими парами ревизий (например, hg diff --rev 0:tip
).