summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2011-04-04 09:36:10 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-06 15:49:17 +0100
commit7fc020aa15d918b215575576d91160afae7f4d70 (patch)
treeed9b029c8b2dfd355396de9183517e852333612b /bitbake/lib/bb/fetch
parentfc801b907361cfdb7e329eefac7a0c991e86c736 (diff)
downloadpoky-7fc020aa15d918b215575576d91160afae7f4d70.tar.gz
persist_data: raise KeyError on missing elements
(Bitbake rev: a4f62433845c29f98c6a9746d5d2847bf9506ea5) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch')
-rw-r--r--bitbake/lib/bb/fetch/__init__.py15
-rw-r--r--bitbake/lib/bb/fetch/git.py18
2 files changed, 17 insertions, 16 deletions
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index 684e83dcad..95f0d9d553 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -759,12 +759,11 @@ class Fetch(object):
759 pd = bb.persist_data.persist(d) 759 pd = bb.persist_data.persist(d)
760 revs = pd['BB_URI_HEADREVS'] 760 revs = pd['BB_URI_HEADREVS']
761 key = self.generate_revision_key(url, ud, d) 761 key = self.generate_revision_key(url, ud, d)
762 rev = revs[key] 762 try:
763 if rev != None: 763 return revs[key]
764 return str(rev) 764 except KeyError:
765 765 revs[key] = rev = self._latest_revision(url, ud, d)
766 revs[key] = rev = self._latest_revision(url, ud, d) 766 return rev
767 return rev
768 767
769 def sortable_revision(self, url, ud, d): 768 def sortable_revision(self, url, ud, d):
770 """ 769 """
@@ -778,13 +777,13 @@ class Fetch(object):
778 key = self.generate_revision_key(url, ud, d) 777 key = self.generate_revision_key(url, ud, d)
779 778
780 latest_rev = self._build_revision(url, ud, d) 779 latest_rev = self._build_revision(url, ud, d)
781 last_rev = localcounts[key + '_rev'] 780 last_rev = localcounts.get(key + '_rev')
782 uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False 781 uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
783 count = None 782 count = None
784 if uselocalcount: 783 if uselocalcount:
785 count = Fetch.localcount_internal_helper(ud, d) 784 count = Fetch.localcount_internal_helper(ud, d)
786 if count is None: 785 if count is None:
787 count = localcounts[key + '_count'] 786 count = localcounts.get(key + '_count')
788 787
789 if last_rev == latest_rev: 788 if last_rev == latest_rev:
790 return str(count + "+" + latest_rev) 789 return str(count + "+" + latest_rev)
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py
index 6b565e3eb5..35908ca8d4 100644
--- a/bitbake/lib/bb/fetch/git.py
+++ b/bitbake/lib/bb/fetch/git.py
@@ -246,18 +246,20 @@ class Git(Fetch):
246 revs = persisted['BB_URI_HEADREVS'] 246 revs = persisted['BB_URI_HEADREVS']
247 247
248 key = self.generate_revision_key(url, ud, d, branch=True) 248 key = self.generate_revision_key(url, ud, d, branch=True)
249 rev = revs[key] 249
250 if rev is None: 250 try:
251 return revs[key]
252 except KeyError:
251 # Compatibility with old key format, no branch included 253 # Compatibility with old key format, no branch included
252 oldkey = self.generate_revision_key(url, ud, d, branch=False) 254 oldkey = self.generate_revision_key(url, ud, d, branch=False)
253 rev = revs[oldkey] 255 try:
254 if rev is not None: 256 rev = revs[oldkey]
255 del revs[oldkey] 257 except KeyError:
256 else:
257 rev = self._latest_revision(url, ud, d) 258 rev = self._latest_revision(url, ud, d)
259 else:
260 del revs[oldkey]
258 revs[key] = rev 261 revs[key] = rev
259 262 return rev
260 return str(rev)
261 263
262 def sortable_revision(self, url, ud, d): 264 def sortable_revision(self, url, ud, d):
263 """ 265 """