Подтвердить что ты не робот

Как я могу найти свою рабочую ревизию в меркуриальном

В Mercurial repo я могу запустить hg up {revision}, чтобы изменить ревизию моего рабочего каталога, но какую команду я могу запустить, чтобы узнать, какую ревизию я ищу?

4b9b3361

Ответ 1

Эта команда:

hg parent

Ответ 2

В дополнение к hg parents вы можете использовать hg summary, чтобы получить самую важную итоговую информацию о вашем текущем состоянии. Это выглядит так:

% hg summary
parent: 13051:120eccaaa522 tip
 encoding: fix typo in variable name
branch: default
commit: 2 unknown (clean)
update: (current)
mq:     20 unapplied

и сразу рассказывает мне, что я в редакции 13051, что я на ветке по умолчанию с чистой рабочей копией (хотя есть 2 файла без следа). Это верхушка ревизии в моем репозитории, поэтому обновление ничего не сделает. Наконец, у меня есть 20 непримененных патчей MQ.

Ответ 3

hg identify (или hg id для краткости) напечатает (сокращенный 12-символьный идентификатор) родительских хэшей и +, если в вашей рабочей копии есть какие-либо незавершенные изменения.

Чтобы получить полные хэши, вы можете использовать hg identify --debug вместо этого.

Ответ 4

Другой вариант - включить расширение graphlog, затем запустите hg glog. Вы увидите такой вывод (помните, что я использую шаблон для изменения вывода):

o    changeset:   200:c8c281cf0a6d
|\   branch:      craig-aspinall
| |  tag:         tip
| |  parent:      199:1a692f3b9134
| |  parent:      187:2d0e0ed9d31c
| |  user:        Craig Aspinall
| |  date:        Tue Nov 23 21:36:30 2010 +1000
| |  summary:     Merged latest changes
| |
| o  changeset:   199:1a692f3b9134
| |  branch:      craig-aspinall
| |  parent:      123:1dc90c9b7ede
| |  user:        Craig Aspinall
| |  date:        Tue Nov 23 21:35:22 2010 +1000
| |  summary:     Final solutions to L04
| |
| | @    changeset:   198:78b488c2607d       <==== This is where I am currently.
| | |\   branch:      OJ
| | | |  parent:      119:70ec3d9e4d3a
| | | |  parent:      197:44bac809d37d
| | | |  user:        OJ Reeves
| | | |  date:        Tue Nov 23 20:19:07 2010 +1000
| | | |  summary:     Merged with the mainline
| | | |
| | | o  changeset:   197:44bac809d37d
| | | |  user:        Tony Morris
| | | |  date:        Tue Nov 23 18:40:03 2010 +1000
| | | |  summary:     Started parallel anagrams
| | | |
| | | o  changeset:   196:92241b51970b
| | | |  user:        Tony Morris
| | | |  date:        Tue Nov 23 17:52:32 2010 +1000
| | | |  summary:     Started parallel anagrams
| | | |

node/версия с символом @ находится там, где вы находитесь.

Ответ 5

Самая конкретная команда, отличная от DEPRECATED, которая из-за наличия --template может печатать только информацию о ревизии, если требуется такая лаконичность (как это подразумевается в вопросе):

hg log -l 1 -b . -T '{rev}:{node|short}\n'

Или:

hg log -l 1 -b . -T '{rev}\n'

Или:

hg log -l 1 -r . -T '{rev}\n'

Или для уникальной длинной формы хэша:

hg log -l 1 -r . -T '{node}\n'

-b . или branch(.) (точка для имени ветки) означает текущую ветку рабочего каталога и -r . означает текущую версию рабочего каталога, которая документально в hg help revsets и hg help revisions.

Обратите внимание, что если существует uncommitted merge, . (точка) отображает только первый родитель двух родителей рабочей группы.

Ответ 6

Это также поможет,

hg log -v -r `hg id -i`