用mercurial自动更新`__version__`?

时间:2011-09-15 05:45:19

标签: python mercurial

  

可能重复:
  How to display current working copy version of an hg repository on a PHP page

How can I rewrite python __version__ with git?类似,在python文件中存储自动更新版本号的最佳方法是什么?

How good is my method of embedding version numbers into my application using Mercurial hooks?Mercurial keyword plan明确了自动更新$Revision$$Id$的svn风格方法是不可取的,而构建系统应该这样做而不是。这是python,虽然没有构建系统,这是一个完全包含在一个文件中的小程序,所以没有包装。

1 个答案:

答案 0 :(得分:2)

你可以随时添加一个构建系统,无论你编写程序的语言是什么。你可能会说“但语言X不需要构建系统”,但这个问题表明它确实:它需要那些在任何发布之前需要完成的重复性任务。这是诸如构建文档,运行测试以及将结果上传到某处的任务。

简单的Makefile或shell脚本就足够了:

all: version

version:
    hg id > __version__

test: version
    @echo -n "running tests... "
    @sleep 1
    @echo " done."

doc: version
    @echo -n "building documentation... "
    @sleep 1
    @echo "done."

upload: test doc
    @echo -n "creating tarball... "
    @sleep 1
    @echo "done."
    @echo -n "publishing on website... "
    @sleep 1
    @echo "done."

.PHONY: version test upload doc