correct value if the directory containing the AndroidManifest.xml has moved.
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
-latter, the repo URL must encode the path to the trunk and tags.
+It currently only works for git, hg and git-svn repositories. In the case of
+the latter, the repo URL must encode the path to the trunk and tags or else no
+tags will be found.
@end itemize
@node Auto Update Mode
build_dir = os.path.join('build/', app['id'])
repotype = app['Repo Type']
- if repotype not in ('git', 'git-svn'):
- return (None, 'Tags update mode only works for git and git-svn repositories currently')
+ if repotype not in ('git', 'git-svn', 'hg'):
+ 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...
vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path)
cwd=self.local) != 0:
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):