On Fri, Oct 7, 2016 at 5:52 AM, Heiko Voigt <hvoigt@xxxxxxxxxx> wrote: > On Thu, Oct 06, 2016 at 01:11:20PM -0700, Junio C Hamano wrote: >> Stefan Beller <sbeller@xxxxxxxxxx> writes: >> >> > Currently the force flag in `git submodule add` takes care of possibly >> > ignored files or when a name collision occurs. >> > >> > However there is another situation where submodule add comes in handy: >> > When you already have a gitlink recorded, but no configuration was >> > done (i.e. no .gitmodules file nor any entry in .git/config) and you >> > want to generate these config entries. For this situation allow >> > `git submodule add` to proceed if there is already a submodule at the >> > given path in the index. > > Is it important that the submodule is in the index? If it is not in the index, it already works. > How about worktree? > From the index entry alone we can not deduce the values anyway. Right, but as of now this is the only show stopper, i.e. * you have an existing repo? -> fine, it works with --force * you even ignored that repo -> --force knows how to do it. * you already have a gitlink -> Sorry, you're out of luck. So that is why I stressed index in this commit message, as it is only about this case. > > [1] http://public-inbox.org/git/%3C20160916141143.GA47240@xxxxxxxxxxxxxxx%3E/ Current situation: > clone the submodule into a directory > git submodule add --force > git commit everything works fine, but: > clone the submodule into a directory > git add <gitlink> > git commit <gitlink> -m "Add submodule" > # me: "Oh crap! I did forget the configuration." > git submodule add --force <url> <gitlink> > # Git: "It already exists in the index, I am not going to produce the config for you." The last step is changed with this patch, as it will just work fine then.