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(-) -- 2.13.0