From 717d71b8e9a5c516ba9b3cc4dadd4d3897ffa9bd Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 19 Oct 2009 17:46:09 +0100 Subject: bitbake: Add hg fetcher auto revisioning, patch from Carl Simonson Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch/hg.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'bitbake/lib/bb') diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py index 7643e159ec..2b0438a26d 100644 --- a/bitbake/lib/bb/fetch/hg.py +++ b/bitbake/lib/bb/fetch/hg.py @@ -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 + -- cgit v1.2.3