Re: [PATCH 3/4] submodule.c: harden submodule_move_head against broken submodules
- Date: Thu, 13 Apr 2017 12:17:28 -0700
- From: Stefan Beller <sbeller@xxxxxxxxxx>
- Subject: Re: [PATCH 3/4] submodule.c: harden submodule_move_head against broken submodules
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.