bitbake: Add hg fetcher auto revisioning, patch from Carl Simonson <simonsonc@gmail.com>

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2009-10-19 17:46:09 +01:00
parent 96fc6f45bc
commit 717d71b8e9
1 changed files with 32 additions and 0 deletions

View File

@ -57,6 +57,14 @@ class Hg(Fetch):
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
else:
tag = Fetch.srcrev_internal_helper(ud, d)
if tag is True:
ud.revision = self.latest_revision(url, ud, d)
elif tag:
ud.revision = tag
else:
ud.revision = self.latest_revision(url, ud, d)
ud.localfile = data.expand('%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
@ -148,3 +156,27 @@ class Hg(Fetch):
except OSError:
pass
raise t, v, tb
def suppports_srcrev(self):
import bb
bb.error("here")
return True
def _latest_revision(self, url, ud, d):
"""
Compute tip revision for the url
"""
import bb
bb.error(self._buildhgcommand(ud, d, "info"))
output = runfetchcmd(self._buildhgcommand(ud, d, "info"), d)
return output.strip()
def _build_revision(self, url, ud, d):
return ud.revision
def _revision_key(self, url, ud, d):
"""
Return a unique key for the url
"""
return "hg:" + ud.moddir