[oe-commits] [bitbake] 04/07: gitsm.py: Optimize code and attempt to resolve locking issue

git at git.openembedded.org git at git.openembedded.org
Tue Jan 15 23:36:25 UTC 2019


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

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

commit 346338667edca1f58ace769ad417548da2b8d981
Author: Mark Hatle <mark.hatle at windriver.com>
AuthorDate: Tue Jan 15 16:31:34 2019 -0500

    gitsm.py: Optimize code and attempt to resolve locking issue
    
    It was reported that a race condition on a shared download directory could
    occur with the gitsm fetcher, the result happened with a call to
    
      git config
    
    that occured within the update_submodules.  Since the fetch is locked by the
    upper level, it was probably the prior need_update(...) function causing this
    because of some old code.
    
    The gitsm class inherits the git class.  The need_update was overridding the
    version in gitsm, so that it forceably checked the submodules.
    
    It's clear we can optimize the code by only updating if the primary repository
    needs updating.  Since we don't care if the submodule repository has changed
    because if the primary hasn't, references to the submodule won't change.
    
    Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/fetch2/gitsm.py | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/lib/bb/fetch2/gitsm.py b/lib/bb/fetch2/gitsm.py
index dd94186..11bfa66 100644
--- a/lib/bb/fetch2/gitsm.py
+++ b/lib/bb/fetch2/gitsm.py
@@ -148,20 +148,6 @@ class GitSM(Git):
 
         return True
 
-    def need_update(self, ud, d):
-        main_repo_needs_update = Git.need_update(self, ud, d)
-
-        # First check that the main repository has enough history fetched. If it doesn't, then we don't
-        # even have the .gitmodules and gitlinks for the submodules to attempt asking whether the
-        # submodules' histories are recent enough.
-        if main_repo_needs_update:
-            return True
-
-        # Now check that the submodule histories are new enough. The git-submodule command doesn't have
-        # any clean interface for doing this aside from just attempting the checkout (with network
-        # fetched disabled).
-        return not self.update_submodules(ud, d)
-
     def download(self, ud, d):
         Git.download(self, ud, d)
 

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


More information about the Openembedded-commits mailing list