From a0246316c6b67d49ff7fcb614e9d308b870c85d5 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Wed, 26 Aug 2015 09:37:47 -0700 Subject: bitbake: bb.fetch: don't remove the clone when an update fails When our clone exists, but is out of date, and the attempt to update it fails, we don't necessarily want to remove the entire clone, particularly if it's a large repository. (Bitbake rev: 19af272ba5256653edeff6acbceeb09e3e478d61) Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/bb/fetch2/__init__.py') diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index e229c30f61..3d53b63b3e 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -1590,7 +1590,8 @@ class Fetch(object): os.chdir(self.d.getVar("DL_DIR", True)) firsterr = None - if not localpath and ((not verify_donestamp(ud, self.d)) or m.need_update(ud, self.d)): + verified_stamp = verify_donestamp(ud, self.d) + if not localpath and (not verified_stamp or m.need_update(ud, self.d)): try: if not trusted_network(self.d, ud.url): raise UntrustedUrl(ud.url) @@ -1618,7 +1619,8 @@ class Fetch(object): logger.debug(1, str(e)) firsterr = e # Remove any incomplete fetch - m.clean(ud, self.d) + if not verified_stamp: + m.clean(ud, self.d) logger.debug(1, "Trying MIRRORS") mirrors = mirror_from_string(self.d.getVar('MIRRORS', True)) localpath = try_mirrors(self, self.d, ud, mirrors) -- cgit v1.2.3-54-g00ecf