【问题标题】:automaticly update `__version__` with mercurial? [duplicate]用mercurial自动更新`__version__`? [复制]
【发布时间】:2011-11-17 14:05:47
【问题描述】:

可能重复:
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,没有构建系统,这是一个完全包含在一个文件中的小程序,所以没有打包。

【问题讨论】:

  • 您使用的是 Python,但我向 a similar question 询问了 PHP 并得到了我认为非常好的答案,它应该可以用于您正在尝试的内容。
  • 好吧,当问题真的与语言无关时,这就是使我的搜索语言具体化的结果;-) 谢谢。

标签: python mercurial


【解决方案1】:

无论您使用哪种语言编写程序,您都可以随时添加构建系统。您可能会说“但语言 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多