Getting Mercurial Tip Version in Python
March 31, 2010
I had a need to get hold of the version number of the Tip revision in my Mercurial repository. This was so that I could automatically generate a version number than included this number. This can be done with the following python code:
import os lPut, lGet = os.popen4("hg tip") lOutput = lGet.readline() lTipRevision = lOutput[10:].strip() lTipRevision = lTipRevision[:lTipRevision.find(":")].strip() print "Repository tip version is %s" % lTipRevision
To get the currently checked out revision, rather than the latest repository revision, use hg parent
rather than hg tip
.
Update
os.popen4 is deprecated in python 2.6. Here's an updated version:
import subprocess lProcess = subprocess.Popen(["hg","tip"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) lOutput = lProcess.stdout.readline() lTipRevision = lOutput[10:].strip() lTipRevision = lTipRevision[:lTipRevision.find(":")].strip() print "Repository tip version is %s" % lTipRevision