threads / discuss / 32021

why '--init' in git-submodule update

Subject: why '--init' in git-submodule update

## tl;dr

3 messages between Nov 5, 2012 and Nov 7, 2012.

replies: 2people: 2as markdown or json

Francis Moreau· Nov 5, 2012, 16:30 UTC · lore
Hello,

I'm wondering why the --init option from git-submodule-update is not at least the defaut. Or even wilder, why this option exists at all and git-submodule-update always behave like --init was always passed.

Thanks -- Francis

Heiko Voigt· Nov 5, 2012, 21:30 UTC · re: Francis Moreau · lore

Re: why '--init' in git-submodule update

Hi,
On Mon, Nov 05, 2012 at 05:30:51PM +0100, Francis Moreau wrote:
> I'm wondering why the --init option from git-submodule-update is not
> at least the defaut. Or even wilder, why this option exists at all and
> git-submodule-update always behave like --init was always passed.

That was a design decision. People may not be interested in all submodules but just a subset they are working with. E.g. think of a large media directory as a submodule the developers might not be interested in having it around all the time because only the designers are heavily working with it.

So the rationale is that you should ask for a certain submodule to be initialized to get it. If there is demand for it we could of course think about offering a config option in .gitmodules to allow enabling it by default for some submodules.

Cheers Heiko
Francis Moreau· Nov 7, 2012, 07:10 UTC · re: Heiko Voigt · lore

Re: why '--init' in git-submodule update

Hi,
On Mon, Nov 5, 2012 at 10:30 PM, Heiko Voigt <hvoigt@hvoigt.net> wrote:
Show 13 quoted lines
> Hi,
>
> On Mon, Nov 05, 2012 at 05:30:51PM +0100, Francis Moreau wrote:
>> I'm wondering why the --init option from git-submodule-update is not
>> at least the defaut. Or even wilder, why this option exists at all and
>> git-submodule-update always behave like --init was always passed.
>
> That was a design decision. People may not be interested in all
> submodules but just a subset they are working with. E.g. think of a
> large media directory as a submodule the developers might not be
> interested in having it around all the time because only the designers
> are heavily working with it.
>
Thanks for explaining.

Another possible solution was to check if one or several submodules are already checkout. If so then update only them. If none of them is checkout then assume --init is passed and init all of them. Same if a path is passed and this path corresponds to a submodule not checkout yet.

-- Francis

← back to recent threads