On Tue, Jun 19, 2012 at 10:55:13AM -0700, Junio C Hamano wrote: > Marc Branchaud <marcnarc@xxxxxxxxxxx> writes: > > > On 12-06-18 06:12 PM, Junio C Hamano wrote: > > ... > >> That reliance of "origin" is what made me think that "not guessing > >> and blindly assuming" a wrong thing to do. > > > > I think git can do better than erroring out, though. > > > >> It is OK that your build usesdetached HEAD, but if that is the case > >> shoudln't it be the one deciding which specific remote it wants to > >> take the updated sources from, and telling Git to do so? > > > > Sure, but I feel it did that already when it cloned. It seems reasonable for > > the submodules to default to using the remote specified when the super-repo > > was cloned. > > I do not have a strong opinion either way, other than that I would > prefer predictable behaviour over "works most of the time provided > if the user does X, otherwise does this random thing". And coming > from that standpoint, erroring out when there needs a guess involved > is certainly more predictable---it is a cop-out option for me in > areas of the system I do not have strong preferences. One thing that makes me nervous about this patch is that it is not just a change to git-submodule, but rather to git-parse-remote. So it could affect other parts of the system, too, where a guess might not be as desirable. The number of affected code paths is fortunately quite small, since this is updating the shell library, and most of the remote-handling code is written in C these days. But it raises a few questions: 1. git-pull can call into get_default_remote via get_remote_merge_branch. Is it impacted by this change? 2. We install git-parse-remote as part of the plumbing API. Do we know of any other 3rd-party scripts that use this interface and might be affected? 3. The C code sets up remote.c:default_remote_name, which defaults to "origin". Should this be consistent with what git-parse-remote does? Should this be a submodule-only thing? -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html