У меня есть проект django (Python), который должен знать, в какой версии его код в Bazaar для развертывания. Это веб-приложение, поэтому я не хочу этого делать, потому что оно запускает новый подпроцесс и не масштабируется.
import subprocess
subprocess.Popen(["bzr", "revno"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
Есть ли способ проанализировать репозитории Bazaar для расчета номера версии? Сам базар написан на Python и содержит этот код для вычисления revno, что заставляет меня думать, что это не совсем тривиально.
rh = self.revision_history()
revno = len(rh)
Редактировать: окончательное исправление
from bzrlib.branch import BzrBranch
branch = BzrBranch.open_containing('.')[0]
revno = len(branch.revision_history())
Редактировать: окончательное исправление, но на этот раз реально
from bzrlib.branch import BzrBranch
branch = BzrBranch.open_containing('.')[0]
revno = branch.last_revision_info()[0]