Re: [PATCH 0/2] Add an update=none option for 'loose' submodules
- From
Heiko Voigt <hvoigt@hvoigt.net>
- Date
- Aug 11, 2011, 20:00 UTC
- Message-ID
- <20110811195955.GA21185@book.hvoigt.net>
- In-Reply-To
- <7v8vqzreeo.fsf@alter.siamese.dyndns.org>
Hi Junio,
On Thu, Aug 11, 2011 at 11:28:31AM -0700, Junio C Hamano wrote:
Show 11 quoted lines
> Heiko Voigt <hvoigt@hvoigt.net> writes: > > > If a submodule is used to seperate some bigger parts of a project into > > an optional directory it is helpful to not clone/update them by default. > > Sorry if I am slow, but I do not get this. > > I thought unless you say "submodule init" once, a submodule you are not > interested in should not be cloned nor updated at all. If that is not the > case, isn't it a bug to be fixed without a new configuration variable that > fixes it only when it is set?
What I usually do is say "submodule init" without any extra option once. That will register all submodules from .gitmodules in the config. Now when I say "submodule update" all submodules would be cloned. In the case of recursive submodules actually
git submodule update --init --recursive
is the only command which can get you really everything in one go.
Do you think the "submodule init" behavior is wrong? If so I think its a bit late to change this since people using submodules (me included) already have got used to it.
With this config variable all submodules will still be registered to .git/config on "submodule init" but "submodule update" will skip those submodules. Since we already have merge and rebase as alternate options to update a submodule it just sounds logical to me to have an additional option to disable updating.
Show 7 quoted lines
> > We have been talking about loose submodules for some time: > > Also before introducing a new terminology "loose submodule", please define > it somewhere. It feels confusing to me that a normal submodule, which > shouldn't be auto-cloned nor auto-updated without "submodule init", needs > to be called by a name other than simply a "submodule" but with an > adjuctive "loose submodule".
Thats why I avoided talking about it in the docs. For the commit message I thought it would be kind of intuitive but I can update the commit message so that it becomes more clear.
Cheers Heiko