Subject: [PATCH v3 0/4] dir: more fill_directory() fixes

From: "Elijah Newren via GitGitGadget" <[email-masked]>
Date: Thu, 16 Jan 2020 20:21:52 +0000

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/[email-masked]/
[2] 
https://lore.kernel.org/git/[email-masked]/
[3] 
https://lore.kernel.org/git/[email-masked]/
[4] 
https://lore.kernel.org/git/[email-masked]/
[5] 
https://lore.kernel.org/git/[email-masked]/
[6] 
https://lore.kernel.org/git/[email-masked]/

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