Как мне получить текущую версию Mercurial без вызова hg? - PullRequest
12 голосов
/ 18 ноября 2009

В Git хэш текущей версии хранится в

.git/refs/heads/master

Есть ли в Mercurial аналог, который не требует от меня вызова hg log -l1? Я знаю, что могу получить текущую ветку в .hg / branch.

Это для "отображения" текущего хеша hg на экране при просмотре веб-страницы.

Ответы [ 3 ]

25 голосов
/ 18 ноября 2009
$ hg parents --template="{node}\n"
52b8cee1e59c91b9147635b7f44a3a8896ee0b00

$ hexdump -n 20 -e '1/1 "%02x"' .hg/dirstate
52b8cee1e59c91b9147635b7f44a3a8896ee0b00

Но почему ты не можешь просто позвонить hg parents --template="{node}\n"?

2 голосов
/ 19 июня 2010

hg id --debug -i -r .

0 голосов
/ 18 ноября 2009

Я не специалист по ртути, но, используя подход кувалды и выполняя grep для текущего ревизионного хэша в .hg, выдает только один возможный вариант, а это .hg/branchheads.cache.

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

Я думаю, что branchheads.cache перестраивается всякий раз, когда появляются новые наборы изменений, поэтому в нем всегда должен быть правильный хэш текущей редакции.

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