From: Stefan Beller Date: Thu, 17 Nov 2016 22:23:29 GMT Subject: Re: [PATCH 08/16] update submodules: add depopulate_submodule Message-ID: In-Reply-To: <20161115234403.GE66382@google.com> On Tue, Nov 15, 2016 at 3:44 PM, Brandon Williams wrote: > "to that a deleted" did you mean "so that a deleted" done >> That will only work properly when the submodule uses a gitfile instead of >> a .git directory and no untracked files are present. Otherwise the removal >> will fail with a warning (which is just what happened until now). > > So if a submodule uses a .git directory then it will be ignored during > the checkout? Well first you get the warning: "cannot remove submodule '%s' because it (or one of " "its nested submodules) uses a .git directory"), and in case a d/f/ conflict arises in a later stage (e.g. when the submodule is replaced by a file or symlink), you get another related error with less helpful description how to debug it. > All other submodules will actually be removed? Couldn't > you end up in an undesirable state with a checkout effecting one > submodule but not another? Yes you could. Maybe it's time to add "git submodule intern-git-dir", which can be given as a helpful hint or even run here first. > > Should probably place an explicit 'extern' in the function prototype. done