Reputation: 4231
I need to get the current mercurial changeset to return in a very simple webservice, just the incrementing revision number and not the hash. I know I can use
hg --cwd C:\repos\MyRepo parent
which will return me
changeset: 730:9d347e4a8d47
tag: tip
user: Simon Martin <[email protected]>
date: Tue Jun 12 15:39:45 2012 +0100
summary: Fixed defect #244...
What I need though is just the 730 part of the changeset. The goal is to be able to write a very simple web service that will return that value - this will then be picked up by another application and displayed in the footer to give a quick reference as to which local revision is current. The testing process can then refer to that 'build' which can then be used to identify that.
Upvotes: 40
Views: 29368
Reputation: 21086
You can show the local revision number of the working copy’s current parent using:
hg identify --num
Note that this outputs a +
suffix when there are local changes. Add an -r .
option to avoid this.
You can use the -r
option to get the local revision number for other revisions too. For example, to retrieve the ID of the last tagged ancestor:
hg id -n -r "ancestors(.) and tag()"
Upvotes: 54
Reputation: 6252
You can use a custom template for the hg parent
command.
This should get what you want:
hg parent --template "{rev}"
Upvotes: 15