[bitbake-devel] [PATCH 0/7 v2] gitsm.py: submodule init and ssh url processing

Mark Hatle mark.hatle at windriver.com
Tue Jan 15 21:31:30 UTC 2019


v2:

A lot has been added and reported here.  The original patch set had a
few minor tweaks made to them.  However there was still a bug when
processing shallow submodules.  This was corrected, along with a report
of download conflicts with multipel downloaders.  (Fixed by inspection,
but since I can't reproduce it -- I have to believe it's resolved.)

Additionally, the last commit refactors the code and adds some additional
test cases to the upstream test respositories.

As with the v1 patch, there is a specific 'ssh' style URI conversion test
that happens only if the test case is manually activated by changing the
URL.

v1 info:

This patch set covers two different items.  The first is work that started
before Christmas where someone noticed a repository that had a defined
gitmodule, but it was never initialized.  The first patch deals with that
issue.  (Thanks Raphael Lisicki for the fix approach...)

The second set works through the issues that Linus Ziegert, and
Krystian Garlinski have brought up on the list.  This fix takes a
different approach then Linus's approach of adding a specific regex.
Instead we look for '://', if we find it -- its a URL, otherwise we
look for ':' -- finding that it must be 'ssh style', otherwise it
has to be a file URL.  I think this simplifies the overall approach.

Finally a test case was developed.  See:

http://git.yoctoproject.org/cgit/cgit.cgi/git-submodule-test/tree/.gitmodules?h=ssh-gitsm-tests

for the specific .gitmodules file that was tested.  I would appreciate
it if the people experiencing problems could try out this code and
verify it works in their configurations.

RP - in the last patch, I wasn't sure how to switch which URL is used.
Either the original simplified testing or the more complex ssh based tests.
Any suggestions on a better way to handle this?

Mark Hatle (7):
  gitsm.py: Fix when a submodule is defined, but not initialized
  gitsm.py: Add support for alternative URL formats from submodule files
  tests/fetch.py: Add alternative gitsm test case
  gitsm.py: Optimize code and attempt to resolve locking issue
  gitsm.py: revise unpack
  gitsm.py: Rework the shallow fetcher and test case
  gitsm.py: Refactor the functions and simplify the class

 lib/bb/fetch2/gitsm.py | 257 ++++++++++++++++++++-----------------------------
 lib/bb/tests/fetch.py  |  24 ++++-
 2 files changed, 125 insertions(+), 156 deletions(-)

-- 
1.8.3.1



More information about the bitbake-devel mailing list