我曾经参与其中的类似问题。一个例子:How can I get the svn revision number in PHP?
但是今天我正在处理一个用BZR管理的项目。我需要获取特定文件的集市版本,并在我们的网站上发布该图形,以便在文件更新时自动更新。
这个网站都是用Python编写的,所以我很乐意在幕后阅读文件,但如果可行,我更倾向于使用更为被动的方法。
答案 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