Subject: Re: RFC: Making submodules "track" branches

From: Jens Lehmann <[email-masked]>
Date: Wed, 09 Jun 2010 09:15:53 +0200

Am 09.06.2010 01:09, schrieb Junio C Hamano:
> Jens Lehmann <[email-masked]> writes:
> 
>> Don't record a commit in the first place, following a branch is not bound
>> to a special commit, so pretending to do that might do more harm than good.
>> Just putting the 0-hash there might be the solution.
> 
> Ugh.  Even though I understand that in some scenarios you would want to
> say "I don't care what commit is used for this submodule---just use the
> tip of the branch 'fred'", I don't think you want to use 0{40} in the
> superproject.  I think it would be Ok to add such a note to .gitmodules in
> the superproject, but I also think we should still record which _exact_
> commit was used to test and validate such a commit in the superproject
> when it was made.

I think we are in violent agreement here. But I as far as understood the
always-tip mode (and I might be wrong here as I never used something like
SVN Externals) it is intended to not be able to tell which exact version
of the submodules branch was used. Otherwise you could just update the
branch in the submodule and commit that in the superproject, which is what
people do not seem to want (please correct me if I am wrong).

Under this assumption it seems to me that it doesn't make sense to record
anything but 0{40}, as this tells people "this submodule was somewhere at
the tip of <branch>, but we can't say where exactly"). Or maybe don't add
the submodule to the tree at all, like Ævar proposed. Same outcome, maybe
even easier to do.

But I always have the feeling there is something I don't get when people
talk about the always-tip mode, so maybe the potential users of such a
feature should speak up now.