On Thu, Apr 13, 2017 at 12:08 PM, Brandon Williams <bmwill@xxxxxxxxxx> wrote: > On 04/11, Stefan Beller wrote: >> Early on in submodule_move_head just after the check if the submodule is >> initialized, we need to check if the submodule is populated correctly. >> >> If the submodule is initialized but doesn't look like populated, this >> is a red flag and can indicate multiple sorts of failures: >> (1) The submodule may be recorded at an object name, that is missing. >> (2) The submodule '.git' file link may be broken and it is not pointing >> at a repository. >> >> In both cases we want to complain to the user in the non-forced mode, >> and in the forced mode ignoring the old state and just moving the >> submodule into its new state with a fixed '.git' file link. > > What about the case where you have marked a submodule as active but > don't have its respective .gitdir yet? For now i think it would be > acceptable to complain and do nothing/ignore it, in the future we may > want to actually clone and then check it out. I agree. With this patch we'd complain in non-forced mode, and in forced mode we'd also complain as we lack the object. In both cases in the future we may want to fetch the contents instead.