[yocto] git.py support for submodules

Chris Morgan chmorgan at gmail.com
Wed May 21 07:47:20 PDT 2014


On Mon, May 19, 2014 at 7:12 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Sat, 2014-05-17 at 13:19 -0700, Christopher Larson wrote:
>>
>>
>> On Saturday, May 17, 2014, Chris Morgan <chmorgan at gmail.com> wrote:
>>
>>         On May 17, 2014 3:58 PM, "Christopher Larson"
>>         <clarson at kergoth.com> wrote:
>>         >
>>         >
>>         >
>>         > On Saturday, May 17, 2014, Chris Morgan <chmorgan at gmail.com>
>>         wrote:
>>         >>
>>         >> Hello.
>>         >>
>>         >> I noticed that git.py doesn't seem to have support for
>>         submodules. I worked around this in my recipe by adding a pre
>>         configure step but I was wondering if a patch to add another
>>         option to git.py to fetch submodules would make sense and be
>>         welcomed (pending it's implementation of course).
>>         >
>>         >
>>         >  See gitsm.py.
>>         >
>>         >
>>         > --
>>         > Christopher Larson
>>         > clarson at kergoth dot com
>>         > Founder - BitBake, OpenEmbedded, OpenZaurus
>>         > Maintainer - Tslib
>>         > Senior Software Engineer, Mentor Graphics
>>   >
>>         I couldn't actually figure out how to use it. I looked at the
>>         code and wasn't sure how it war supposed to do or what it was
>>         for.
>>
>> You use it exactly the way you use git.py - gitsm:// instead of
>> git://.  It's basically git fetching plus submodule handling. I
>> personally would rather see it merged into git.py, but I can see the
>> reasoning.
>
> FWIW the reason its separate is that mirroring is not in a good state
> with submodules since git is doing magic things behind the scenes that
> the fetcher and its mirror infrastructure have no knowledge of. We
> should probably document that somewhere though.
>
> There are a few ways it can be fixed but its ugly and I'd prefer to have
> that code isolated for now. It could easily be merged later and it needs
> someone who cares about submodules to fix it up to be a first class
> citizen before that can happen.
>
> Cheers,
>
> Richard
>


Here is an interesting twist on the same issue.

It looks like if you have two recipes pointing to the same repository
but with different git:// vs. gitsm://, that if the git:// runs first
the one with gitsm:// will fail. I'm using multiple recipes against
the same repository to build some internal code where several programs
are in the same repository. I suppose the work around is to make them
all gitsm:// but  still...

Chris



More information about the yocto mailing list