Subject: Re: [1.7.5] Let fetch and pull recurse into submodules when new commits are recorded

From: Marc Branchaud <[email-masked]>
Date: Mon, 21 Feb 2011 10:12:50 -0500

On 11-02-19 11:40 AM, Jens Lehmann wrote:
> Am 18.02.2011 02:02, schrieb Junio C Hamano:
>> It seems that not many things need breaking, but we will break some.
>>
>> Here are the ones that needed discussion and were discussed that I am
>> aware of, with my comments (which shouldn't be read as final decision).
> 
> Sorry for not having posted this earlier:
> 
> Proposal:
> Add a new "on-demand" mode to fetch and pull and make it the default.
> 
> When using the new "on-demand" mode every time new commits are fetched
> in the superproject they will be parsed for submodule commits. If these
> commits aren't present in a populated submodule, run "git fetch" inside
> that submodule. (Also see this thread for an in depth discussion:
> http://article.gmane.org/gmane.comp.version-control.git/158979/ )
> 
> Additionally change "git submodule update" to only then run fetch in a
> submodule when the commit it wants to check out is not already present
> there.
> 
> This behavior can be configured per submodule, per repo and globally.
> 
> Advantages:
> * Disconnected operation. Right now it is really easy to forget to fetch
>   all submodules before you get on a plane, possibly leaving you unable
>   to check out certain revisions.

I support the proposal, but just to be clear I'd rephrase that advantage as:

Disconnected operation. Right now it is really easy to forget to update
populated submodules before you get on a plane, possibly leaving you unable
to check out certain revisions.

(Obviously, I think the only-works-on-already-populated-submodules part is
very important.)

		M.