Как я могу получить версию файла Bazaar на моем веб-сайте? - PullRequest
1 голос
/ 27 ноября 2011

Были подобные вопросы, с которыми я сталкивался раньше.Один пример: Как я могу получить номер ревизии svn в PHP?

Но сегодня я занимаюсь проектом, который управляется с помощью BZR.Мне нужно получить базарную версию для определенного файла и опубликовать эту цифру на нашем веб-сайте таким образом, чтобы она автоматически обновлялась при обновлении файла.

Сайт полностью на Python, поэтому я открыт для чтенияскрытые файлы, но я бы предпочел более пассивный метод, если он доступен.

Ответы [ 3 ]

3 голосов
/ 27 ноября 2011

Если вам нужно получить последнюю версию, в которой был изменен файл, вы можете сделать это, используя следующую команду:

bzr log -l1 --line <file> | cut -f1 -d:
2 голосов
/ 27 ноября 2011

В 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()
0 голосов
/ 27 ноября 2011

Один из способов заключается в том, чтобы иметь скрипт, который выдвигает на ваш сайт, это обновление сценария case version.py или что-то в этом роде:

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