Відповіді:
Спробуйте:
hg id -i
Приклад:
$ hg id -i
adc56745e928
hg --debug id -i
якщо ви хочете використовувати підтримку шаблонів hg parent --template '{node}'
Не використовуйте hg log -l 1
, останній набір змін сховища, а не поточний набір змін робочої копії.
.
крапку як версію.
hg help revisions
і hg help revsets
має кілька божевільних потужних ярликів.
hg id -i
друкує лише коротку (12 символів) форму глобального хеш-ідентифікатора, а оскільки hg identify
не вистачає --template
афаїків, немає ніякого способу вилучити лише версію та більше нічого, оскільки сторінка man говорить про це друкує резюме.
hg --debug id -i
Це призведе до отримання тривалого хешу з плюсом, якщо відбудуться незаперечні зміни.
Ви можете використовувати --template з батьківською командою, я використовую це, щоб отримати довгий хеш:
hg parent --template '{node}'
hg parents
, що ВИГОТОВЛЕНО , хоча, можливо, це було не так, коли ви писали цю відповідь. Якщо відбувається безперервне злиття, є два батьківські зміни .
Узагальнюючи відповіді та їх відповіді, здається, що це найкращий спосіб надрукувати унікальний (не коротка форма) ідентифікатор поточної версії:
hg log -l 1 --template '{node}\n' -r .
.
(крапка) відображає лише першого з батьків двох батьків робочої групи.
hg log -l 1 --template '{node|short}\n'
Дивіться документи , параграфи "Основи шаблонування" та далі.
lid
до log -l 1 --template '{node}\n'
досягається саме це - надрукувати повний ідентифікатор версії.
hg --debug id -i
як сказано в інших місцях.
Найбільш специфічна команда, яка НЕ БЕЗПЕЧЕНО, яка через наявність --template
може друкувати лише інформацію про перегляд, якщо потрібна така стислість (що передбачає питання):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
Або для унікальної довгої форми хешу:
hg log -l 1 -r . -T '{node}\n'
-b .
Або branch(.)
(точка імені гілки) означає поточну гілку робочого каталогу і -r .
означає поточну версію робочого каталогу, який документована в hg help revsets
і hg help revisions
.
Зверніть увагу, якщо відбувається безперервне злиття , .
(крапка) відображає лише першого з батьків двох батьків робочої групи.
Як зазначали інші, не використовуйте log -l
.
Використовуйте hg log -r .
для отримання детальної інформації, на відміну від використання hg id
, вихід якого обмежений, і він не підтримує шаблони. Ви також можете створити невеликий псевдонім, як here = log -r .
і використовувати hg here
. Якщо ви хочете використовувати хеш hg log -r . --template '{node}\n'
.
Якщо використовується TortoiseHg, клацніть правою кнопкою миші рядок редагування в Workbench та виберіть "Скопіювати хеш" (відповідно до документації ).
hg log -l 1
ви отримуєте найсвіжіший набір змін, не обов’язково той, до якого ви зараз оновлені! Прапор -f обмежує вихід журналу hg предкам поточного робочого каталогу, томуhg log -f -l1
ближче до того, що ви хочете.