Hi git developers, Apologies in advance if my mailing list etiquette isn't 100% perfect. I don't use mailing lists all that often. Please CC me in replies, because I am not subscribed. I use `git-ls-files` in a project[1] to get a list of ignored files/directories, and to ignore them in my project. I found that using `--directory` speeds things up by a lot, so I can ignore entire directories. However, I get inconsistent results between using the --directory flag and not. To demonstrate this, I created a super tiny repository[2]. The repository ignores all `*.mo` files. I then do: $ mkdir po/subdir $ touch eo.mo po/eo.mo po/subdir/eo.mo When I run `git ls-files --exclude-standard --ignored --others`, my output is: eo.mo po/eo.mo po/subdir/eo.mo But when I run `git ls-files --exclude-standard --ignored --others --directory`, my output is: eo.mo po/eo.mo Rather strangely, when I alter the command to `git ls-files --exclude- standard --ignored --others --directory --no-empty-directory`, I get: eo.mo po/eo.mo po/subdir/ This seems very counter-intuitive to me, because po/subdir/ is an empty directory in the sense that it contains no files tracked by git. Is this a bug, or is this a miscomprehension on my part about how `git- ls-files` is supposed to function? With kindness, Carmen [1]: < https://github.com/fsfe/reuse-tool/blob/75c8c1ba0b7fcefc3ab4e132b539f506e18f721c/src/reuse/_util.py#L115 > [2]: