On Tue, Nov 15, 2016 at 3:44 PM, Brandon Williams <bmwill@xxxxxxxxxx> 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