Addresses the issues raised by Stefan and Junio (thanks for your feedback) about not using C99-style comments and keeping tests working on every commit to prevent breaking git bisect. (About the latter one: is it necessary to prevent compiler warnings, in addition to compiler errors? Because if so I should probably squash some of the commits together.)
Note that this introduces a breaking change in the behavior of git status: when invoked with --ignored, git status will now return ignored files in an untracked directory, whereas previously it would not.
It's possible that there are standard practices that I might have missed, so if there is anything along those lines, I'd appreciate you letting me know. (As an aside, about the git bisect thing: is there a script somewhere that people use to test patch series before sending them out?)
Samuel Lijin (9):
t7300: skip untracked dirs containing ignored files
t7061: expect failure where expected behavior will change
dir: recurse into untracked dirs for ignored files
dir: add method to check if a dir_entry lexically contains another
dir: hide untracked contents of untracked dirs
dir: change linkage of cmp_name() and check_contains()
builtin/clean: teach clean -d to skip dirs containing ignored files
t7300: clean -d now skips untracked dirs containing ignored files
t7061: expect ignored files in untracked dirs
builtin/clean.c | 24 ++++++++++++++++--
dir.c | 61 ++++++++++++++++++++++++++++++++++++++++++++--
dir.h | 3 +++
t/t7061-wtstatus-ignore.sh | 1 +
t/t7300-clean.sh | 10 ++++++++
5 files changed, 95 insertions(+), 4 deletions(-)