Incorporates all of Junio's feedback on v4:
* squashes test expect_failure -> expect_success flips into the commits that
fix them
* the O(n^2) pruning loop added for DIR_KEEP_UNTRACKED_CONTENTS is now O(n)
* the logic in cmd_clean() that keeps the contents of an untracked dir from the
del_list is now hoisted into a separate loop
Also includes the following:
* expands the test I add in t7300 to check clean -d, for better coverage of the
pruning logic in cmd_clean() (the logic that tells clean -d to not remove a/b
and a/c if it's already removing a/)
* documents DIR_KEEP_UNTRACKED_CONTENTS in the corresponding technical API doc
Samuel Lijin (6):
t7300: clean -d should skip dirs with ignored files
t7061: status --ignored should search untracked dirs
dir: recurse into untracked dirs for ignored files
dir: hide untracked contents of untracked dirs
dir: expose cmp_name() and check_contains()
clean: teach clean -d to skip dirs containing ignored files
Documentation/technical/api-directory-listing.txt | 6 ++++
builtin/clean.c | 38 +++++++++++++++++++-
dir.c | 42 ++++++++++++++++++++---
dir.h | 6 +++-
t/t7061-wtstatus-ignore.sh | 1 +
t/t7300-clean.sh | 16 +++++++++
6 files changed, 103 insertions(+), 6 deletions(-)