Add UCM:Tags support to hg

This commit is contained in:
Daniel Martí 2013-09-06 20:33:47 +02:00
parent 277788898e
commit 94b083063a
3 changed files with 10 additions and 4 deletions

View file

@ -1077,8 +1077,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 and git-svn repositories. In the case of the It currently only works for git, hg and git-svn repositories. In the case of
latter, the repo URL must encode the path to the trunk and tags. the latter, the repo URL must encode the path to the trunk and tags or else no
tags will be found.
@end itemize @end itemize
@node Auto Update Mode @node Auto Update Mode

View file

@ -50,8 +50,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'): if repotype not in ('git', 'git-svn', 'hg'):
return (None, 'Tags update mode only works for git and git-svn repositories currently') return (None, 'Tags update mode only works for git, hg and git-svn repositories currently')
# 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

@ -342,6 +342,11 @@ class vcs_hg(vcs):
cwd=self.local) != 0: cwd=self.local) != 0:
raise VCSException("Hg checkout failed") raise VCSException("Hg checkout failed")
def gettags(self):
p = subprocess.Popen(['hg', 'tags', '-q'],
stdout=subprocess.PIPE, cwd=self.local)
return p.communicate()[0].splitlines()[1:]
class vcs_bzr(vcs): class vcs_bzr(vcs):