packaging/scripts/deb_version.py

22 lines
649 B
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from bzrlib.branch import Branch
from natsort import nsorted
b = Branch.open_containing('.')[0]
b.lock_read()
try:
# Get the branch's latest revision number.
revno = b.revno()
# Convert said revision number into a bzr revision id.
revision_id = b.dotted_revno_to_revision_id((revno,))
# Get a dict of tags, with the revision id as the key.
tags = b.tags.get_reverse_tag_dict()
# Check if the latest
if revision_id in tags:
print tags[revision_id][0]
else:
print '%s+bzr%s' % (nsorted(b.tags.get_tag_dict().keys())[-1], revno)
finally:
b.unlock()