How can I get the current mercurial changeset revision not the hash

27,741

Solution 1

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()"

Solution 2

You can use a custom template for the hg parent command.

This should get what you want:

hg parent --template "{rev}"
Share:
27,741
Simon Martin
Author by

Simon Martin

Developer specialising in the Angle Brackets stuff (ASP.NET, Azure, and Web Tools).

Updated on June 14, 2020

Comments

  • Simon Martin
    Simon Martin about 4 years

    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.

  • Simon Martin
    Simon Martin about 12 years
    How and where do I set up the custom template?
  • Laurens Holst
    Laurens Holst about 12 years
    It’s specified right there on the command line, no need to set anything up. Another template example: --template "Local revision number: {rev}\n".
  • wip
    wip about 7 years
    Some documentation describing this feature is available here: hgbook.red-bean.com/read/…
  • Doug J. Huras
    Doug J. Huras over 6 years
    Thanks for the info. I like: "hg id -i" to get just the tip changeset id.