This is a follow up to en/fill-directory-fixes, and has grown from 1 patch in v1 to 4 patches in v2, 3 of which are submissions by others to the git list that I've just combined into one series since they are all about fill_directory(). The first two patches may make sense to include in maint at some point, though Stolee isn't that concerned about this regression[5][6]. * The first patch is Kevin and Stolee's testcase showing a regression in "git clean -f "[1] * The second patch is a "simple" fix for that testcase with a pretty long (and slightly embarrassing though entertaining) backstory. * The third patch was from v1, and is a small tweak made by me to a patch proposed by Peff[2] (signoff from [3]) to avoid needing to create a dirent. * The fourth patch was a follow-up from Peff in response to V1 fixing a code comment[4]. [1] https://lore.kernel.org/git/pull.526.git.1579119946211.gitgitgadget@xxxxxxxxx/ [2] https://lore.kernel.org/git/20191219222403.GA705525@xxxxxxxxxxxxxxxxxxxxxxx/ [3] https://lore.kernel.org/git/20200114220357.GA3957260@xxxxxxxxxxxxxxxxxxxxxxx/ [4] https://lore.kernel.org/git/20200115202146.GA4091171@xxxxxxxxxxxxxxxxxxxxxxx/ [5] https://lore.kernel.org/git/354fa43b-0e62-1ee5-a63f-59d9b2da7d3f@xxxxxxxxx/ [6] https://lore.kernel.org/git/e008da66-defe-d2b0-410b-64b7754b9c6e@xxxxxxxxx/ Derrick Stolee (1): clean: demonstrate a bug with pathspecs Elijah Newren (1): dir: treat_leading_path() and read_directory_recursive(), round 2 Jeff King (2): dir: restructure in a way to avoid passing around a struct dirent dir: point treat_leading_path() warning to the right place dir.c | 83 ++++++++++++++++++++++-------------------------- t/t7300-clean.sh | 9 ++++++ 2 files changed, 47 insertions(+), 45 deletions(-) base-commit: d0654dc308b0ba76dd8ed7bbb33c8d8f7aacd783 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-692%2Fnewren%2Favoid-dirent-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-692/newren/avoid-dirent-v3 Pull-Request: https://github.com/git/git/pull/692 Range-diff vs v2: -: ---------- > 1: 9efed585ef clean: demonstrate a bug with pathspecs -: ---------- > 2: ea95186774 dir: treat_leading_path() and read_directory_recursive(), round 2 1: edb18304b2 = 3: 5b8fa6e5a7 dir: restructure in a way to avoid passing around a struct dirent -: ---------- > 4: 9d346f8b6b dir: point treat_leading_path() warning to the right place -- gitgitgadget