On Thu, Aug 17, 2017 at 10:16 PM, R0b0t1 <r030t1@xxxxxxxxx> wrote: > The issue is as follows: > > R0b0t1@host:~/devel/project$ git submodule add > https://github.com/user/project -f > Cloning into '/home/R0b0t1/devel/project/-f'... > > My .gitignore's first line is *, and then I explicitly allow things. > Despite the presence of "project/" in the .gitignore the submodule > command says it is ignored. That might indicate that another submodule command doesn't cope with submodule names that look like a common flag. > The "force" flag is interpreted as a flag > and also as the destination directory. > > It is possible the argument parsing code for other commands exhibits this error. Yes, though these other commands are in C, not in shell. Note that Prathamesh is currently porting the "git submodule" command to C, which would allow us to fix this bug easily. Also note that the -f is ambigious, what if the user meant to have the submodule at path "-f" ? (This issue comes up in many other commands, for example when a path and a branch name is accepted, the path of a potentially deleted file. To solve this git accepts a double dash, which signals git that anything after the double dash there are arguments not to be interpreted as a command line flag. > > R0b0t1.