Subject: Re: [1.8.0] Recursively checkout, merge and reset populated submodules

From: Phil Hord <[email-masked]>
Date: Mon, 21 Feb 2011 21:32:09 -0500

On 02/21/2011 07:51 PM, Miles Bader wrote:
> Jens Lehmann <[email-masked]> writes:
>>> >> So, .gitmodules initially controls recursion.  When a submodule gets
>>> >> populated, it gets an entry in .git/config which then determines the
>>> >> recursion behavior from then on.  Changing branches might change .gitmodules,
>>> >> but anything in .git/config will persist so any customizations the user makes
>>> >> will also persist.
>> >
>> > Yes. Upstream can give sane defaults but the user has the last word.
> If .git/config entries are created _automatically_ based on the initial
> .gitmodules, doesn't that means it will cease to respect the upstream
> defaults in the case where .gitmodules changes, even if the user didn't
> actually change anything himself...?

Also consider that the .gitmodules'  "upstream defaults" may have many
changes
within the existing repository.  So, $(git checkout foo) will load some
"defaults" and
$(git checkout bar) may load different "defaults".  I guess the defaults
can be migrated
into .git/config using $(git submodule init)...?

Phil