Taylor Blau <me@xxxxxxxxxxxx> writes: > On Wed, Jun 02, 2021 at 01:31:11PM +0300, Ilias Apostolou wrote: >> Hello Git community. >> >> As you already know, git ls-files command lists all of the tracked files, >> but submodule names are included. >> >> My team would like a –no-submodule switch to exclude those. > > In all honesty, though this seems like a niche request for ls-files to > fulfill, ls-files already has quite the collection of options, so I > wouldn't be sad to see it learn how to do this, too. I would be somewhat sad for two reasons. - If "I am not interested in any submodule" in a project with submodules is a common thing people would want, teaching a trick only to "ls-files" is an expensive and ineffective approach, and adding the option to everything would just be ugly. "git diff --no-submodule"? "git add --no-submodule ."? - Is "not interested in any submodule" so special and fundamental, or is it merely because the project the original requestor is looking at happens to have an optional submodule? If the project had that optional part as a subdirectory instead, would the request have been not --no-submodule but something else? What happens when the project that led to the original request acquires another submodule that is more interesting, or what if the requestor's interest shifts and makes some submodules interesting but others not? Would the --no-submodule option become totally useless in such a case? I wonder if the "attr" magic of the pathspec, that allows you to choose paths based on the attributes you set on them, is what the original requestor missed.