How to get revision number from Mercurial reposito

2019-05-07 11:50发布

问题:

I have a java project in NetBeans and im using Mercurial for version controlling. I want to see my project version number in about box and i want it to be updated according to Mercurial revision number. Any ideas how to do it? :)

回答1:

Following 'Version numbering for auto builds with Mercurial', you can record in a VERSION.TXT file (that you about dialog would display) the result of:

hg log -r . --template '{latesttag}-{latesttagdistance}-{node|short}'

Lazy Badger comments:

log will be a lot better (and correct) with:

hg log -r tip --template "{latesttag}.{latesttagdistance}"

You have more options in "How good is my method of embedding version numbers into my application using Mercurial hooks?"

version_gen.sh with:

 hg parent --template "r{node|short}_{date|shortdate}" > version.num

In the makefile, make sure version_gen.sh is run before version.num is used to set the version parameter.



回答2:

If Windows, MercurialRev ("SubWCRev for Mercurial") may be useful also

Replaces revision information in a tagged text file.

MercurialRev <SourceFile> <DestinationFile> <RepositoryPath>

Tags:
    <$HG:REV_NUM$>
    <$HG:REV_LMOD_N$>
    <$HG:REV_LMOD_P$>
    <$HG:REV_ID$>
    <$HG:BRANCH$>
    <$HG:TAG$>