Hi there! I'm not subscribed to the list, sorry, so I would be more than grateful if I'm CC'd, but I'll check the mailing list archive from time to time for replies. Thanks in advance. It is a common practice for Python virtual environments, pytest and other tools (not always Python related) to add a '.gitignore' file in directories these tools create on a repository that should NOT be committed or tracked. By adding a .gitignore file containing a single "*", the entire directory is ignored by git. So far, so good. But when using 'git ls-files --others --exclude-from=<file>', when <file> is one of those .gitignore files present in a subdir, makes the command use the patterns in that .gitgnore (in this case, the "*") against ALL files that would otherwise be listed by using '--others'. In short: using 'git ls-files --others --exclude-from=subdir/.gitignore' results in an empty listing if subdir/.gitignore contains '*". IMHO that pattern should be applied to the subdir contents and not to the contents of the current directory. That would be consistent with how git uses .gitignore files in subfolders. The obvious solution is to use --exclude-per-directory but it is deprecated in favor of --exclude-standard and --exclude-standard shows the same behaviour of --exclude-from=subdir/.gitignore!!! Is there any way, not using --exclude-per-directory, of listing all untracked files in the current repository, but ignoring those matching .gitignore files with the patterns matching the corresponding subdirectory? Is this a bug or intended behaviour? Thanks a lot in advance :) -- Raúl Núñez de Arenas Coronado .