From: Phil Hord Date: Tue, 22 Feb 2011 02:32:09 GMT Subject: Re: [1.8.0] Recursively checkout, merge and reset populated submodules Message-ID: <4D632029.7040501@cisco.com> In-Reply-To: <87ei70riw1.fsf@catnip.gol.com> On 02/21/2011 07:51 PM, Miles Bader wrote: > Jens Lehmann 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