Add support for UCM:Tags in bzr

This commit is contained in:
Daniel Martí 2013-10-30 21:54:09 +01:00
parent d8d3f00e6b
commit 4c5cd7a360
3 changed files with 11 additions and 5 deletions

View file

@ -1111,9 +1111,9 @@ are known to forget to tag releases. Like RepoManifest, it will not return the
correct value if the directory containing the AndroidManifest.xml has moved. correct value if the directory containing the AndroidManifest.xml has moved.
Despite these caveats, it is the often the favourite update check mode. Despite these caveats, it is the often the favourite update check mode.
It currently only works for git, hg and git-svn repositories. In the case of It currently only works for git, hg, bzr and git-svn repositories. In the case
the latter, the repo URL must encode the path to the trunk and tags or else no of the latter, the repo URL must encode the path to the trunk and tags or else
tags will be found. no tags will be found.
@item @item
@code{HTTP} - HTTP requests are used to determine the current version code and @code{HTTP} - HTTP requests are used to determine the current version code and
version name. This is controlled by the @code{Update Check Data} field, which version name. This is controlled by the @code{Update Check Data} field, which

View file

@ -93,8 +93,8 @@ def check_tags(app, sdk_path):
build_dir = os.path.join('build/', app['id']) build_dir = os.path.join('build/', app['id'])
repotype = app['Repo Type'] repotype = app['Repo Type']
if repotype not in ('git', 'git-svn', 'hg'): if repotype not in ('git', 'git-svn', 'hg', 'bzr'):
return (None, 'Tags update mode only works for git, hg and git-svn repositories currently') return (None, 'Tags update mode only works for git, hg, bzr and git-svn repositories currently', None)
# Set up vcs interface and make sure we have the latest code... # Set up vcs interface and make sure we have the latest code...
vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path) vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path)

View file

@ -415,6 +415,12 @@ class vcs_bzr(vcs):
self.refreshed = False self.refreshed = False
self.srclib = None self.srclib = None
def gettags(self):
p = subprocess.Popen(['bzr', 'tags'],
stdout=subprocess.PIPE, cwd=self.local)
return [tag.split(' ')[0].strip() for tag in
p.communicate()[0].splitlines()]
# Get the type expected for a given metadata field. # Get the type expected for a given metadata field.
def metafieldtype(name): def metafieldtype(name):