Is there a better way extract the current revision hash in Mercurial than
hg log -l1|grep changeset|cut -d: -f3
?
Part of my webapp depl
In case TortoiseHg is used, right-click the revision row in the Workbench and select "Copy hash" (as per documentation).
Try:
hg id -i
Example:
$ hg id -i
adc56745e928
hg --debug id -i
This will output the long hash, with a plus if there are uncommitted changes.
Summarising the answers and their responses, it seems that this is the best way to print the unique (not short form) identifier of the current version:
hg log -l 1 --template '{node}\n' -r .
You can use --template with the parent command, I use this to get the long hash:
hg parent --template '{node}'
The most specific non-DEPRECATED command which due to the presence of --template
can print only revision information if that conciseness is required (as implied by the question):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
Or for unique long form of hash:
hg log -l 1 -r . -T '{node}\n'
The -b .
or branch(.)
(dot for branch name) means the current working directory branch and -r .
means the current working directory revision, which is documented in hg help revsets
and hg help revisions.
Note if there is an uncommitted merge, the .
(dot) only displays the first parent of two parents of the working group.