如何在我的网站上获取文件的Bazaar版本?

时间:2011-11-27 04:42:00

标签: python version-control bazaar

我曾经参与其中的类似问题。一个例子:How can I get the svn revision number in PHP?

但是今天我正在处理一个用BZR管理的项目。我需要获取特定文件的集市版本,并在我们的网站上发布该图形,以便在文件更新时自动更新。

这个网站都是用Python编写的,所以我很乐意在幕后阅读文件,但如果可行,我更倾向于使用更为被动的方法。

3 个答案:

答案 0 :(得分:3)

如果您需要获取修改文件的最新版本,可以使用以下命令:

bzr log -l1 --line <file> | cut -f1 -d:

答案 1 :(得分:2)

在Python中:

from bzrlib.branch import Branch
b = Branch.open(location_of_your_branch)
b.lock_read()
try:
    # Retrieve the contents of the last revision
    t = b.basis_tree()
    revid = t.get_file_revision(t.path2id(your_filename))
    print ".".join([str(x) for x in b.revision_id_to_dotted_revno(revid)])
finally:
    b.unlock()

答案 2 :(得分:0)

一种方法是使用一个脚本推送到您的网站,这个脚本案例更新版本.py或类似的东西:

# update version
echo "VERSION = \"$(bzr revno)\"" > version.py
# push to website
rsync ...
# tag
bzr tag --force deployed-version