From: Junio C Hamano Date: Fri, 06 May 2016 06:21:44 GMT Subject: Re: [PATCH] pathspec: remove check_path_for_gitlink Message-ID: In-Reply-To: Junio C Hamano writes: > When deep/in/ is an unrelated repository, and running either > > git add deep/in/the > git add deep/in/the/tree > > would add deep/in/the/tree/is-a-leaf.txt to my index, but if I did > > git add deep/in > > I'd lose that and suddenly everything there turns into a submodule. Also, I recall that you floated an idea to declare that git add deep/in/the/tree/is-a-leaf.txt must always behave as if this is done instead: git -C deep/in/the/tree/ add is-a-leaf.txt Even though I am not a huge fan of an operation that crosses module boundaries, I think that is a sensible semantics of a "cross module boundary operation" (the actual implementation should not be iterating over pathspecs and chdir(2)ing around for each and every one of them, though), if we need "cross module boundary operation" in order to support end users working on a project with one or more submodules at the same time. But treating the bug under discussion as a "feature" will destroy that future.