From a9112a102a89049cda597dad449e922c9e957a5d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 5 Dec 2013 15:21:38 +0000 Subject: fetch2/git: Add sanity check to ensure we really did fetch the correct revisions The fetcher made the rather bold assumption that if it fetched from the upstream, the revisions were present and correct. These checks are fast and ensure that really is the case. The avoids accidental network accessed and missing branch configuration problems. Signed-off-by: Richard Purdie --- lib/bb/fetch2/git.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/bb/fetch2/git.py') diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index a9470e40d..2b9f8af94 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -213,6 +213,9 @@ class Git(FetchMethod): runfetchcmd("%s prune-packed" % ud.basecmd, d) runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d) ud.repochanged = True + for name in ud.names: + if not self._contains_ref(ud.revisions[name], ud.branches[name], d): + raise bb.fetch2.FetchError("Unable to find revision %s in branch %s even from upstream" % (ud.revisions[name], ud.branches[name])) def build_mirror_data(self, ud, d): # Generate a mirror tarball if needed -- cgit 1.2.3-korg