[oe-commits] [bitbake] 17/18: fetch2/git: provide information about missing sources

git at git.openembedded.org git at git.openembedded.org
Tue Oct 16 20:01:17 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit 5f54e3e1bf5092094fb99ed8fe2cc67c19f7db93
Author: Urs Fässler <urs.fassler at bbv.ch>
AuthorDate: Mon Oct 8 08:15:12 2018 +0000

    fetch2/git: provide information about missing sources
    
    Provide more information in the case the sources are not found in the
    unpack step.
    
    Signed-off-by: Urs Fässler <urs.fassler at bbv.ch>
    Signed-off-by: Pascal Bach <pascal.bach at siemens.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/fetch2/git.py  | 29 +++++++++++++++++++++--------
 lib/bb/tests/fetch.py |  2 ++
 2 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index 51259df..15858a6 100644
--- a/lib/bb/fetch2/git.py
+++ b/lib/bb/fetch2/git.py
@@ -476,14 +476,27 @@ class Git(FetchMethod):
         if os.path.exists(destdir):
             bb.utils.prunedir(destdir)
 
-        clonedir_is_up_to_date = not self.clonedir_need_update(ud, d)
-        if clonedir_is_up_to_date:
-            runfetchcmd("%s clone %s %s/ %s" % (ud.basecmd, ud.cloneflags, ud.clonedir, destdir), d)
-        elif ud.shallow and os.path.exists(ud.fullshallow):
-            bb.utils.mkdirhier(destdir)
-            runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=destdir)
-        else:
-            raise bb.fetch2.UnpackError("No up to date source found", ud.url)
+        source_found = False
+        source_error = []
+
+        if not source_found:
+            clonedir_is_up_to_date = not self.clonedir_need_update(ud, d)
+            if clonedir_is_up_to_date:
+                runfetchcmd("%s clone %s %s/ %s" % (ud.basecmd, ud.cloneflags, ud.clonedir, destdir), d)
+                source_found = True
+            else:
+                source_error.append("clone directory not available or not up to date: " + ud.clonedir)
+
+        if not source_found:
+            if ud.shallow and os.path.exists(ud.fullshallow):
+                bb.utils.mkdirhier(destdir)
+                runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=destdir)
+                source_found = True
+            else:
+                source_error.append("shallow clone not enabled or not available: " + ud.fullshallow)
+
+        if not source_found:
+            raise bb.fetch2.UnpackError("No up to date source found: " + "; ".join(source_error), ud.url)
 
         repourl = self._get_repo_url(ud)
         runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, repourl), d, workdir=destdir)
diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py
index 5848a17..3ce10e1 100644
--- a/lib/bb/tests/fetch.py
+++ b/lib/bb/tests/fetch.py
@@ -1775,6 +1775,8 @@ class GitShallowTest(FetcherTest):
             fetcher.unpack(self.d.getVar('WORKDIR'))
 
         self.assertTrue("No up to date source found" in context.exception.msg)
+        self.assertTrue("clone directory not available or not up to date" in context.exception.msg)
+        self.assertTrue("shallow clone not enabled or not available" in context.exception.msg)
 
     @skipIfNoNetwork()
     def test_that_unpack_does_work_when_using_git_shallow_tarball_but_tarball_is_not_available(self):

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list