Відповіді:
Спробуйте:
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ближче до того, що ви хочете.