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

Как получить текущую версию меркурийского вызова без вызова hg?

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

.git/refs/heads/master

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

Это означает, что "отображать" текущий hg-хэш на экране при просмотре веб-страницы.

4b9b3361

Ответ 1

$ hg parents --template="{node}\n"
52b8cee1e59c91b9147635b7f44a3a8896ee0b00

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

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

Ответ 2

hg id --debug -i -r .

Ответ 3

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

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

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