Skip to content

dir: more fill_directory() fixes

Elijah Newren via GitGitGadget git 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest4 patches 3 repliesIn review
  2. v11 patch 8 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4clean: demonstrate a bug with pathspecst/t7300-clean.sh+9 -02 replies
2/4dir: treat_leading_path() and read_directory_recursive(), round 2dir.c t/t7300-clean.sh+5 -11 reply
3/4dir: restructure in a way to avoid passing around a struct direntdir.c+31 -420 replies
4/4dir: point treat_leading_path() warning to the right placedir.c+3 -30 replies

Reviews trailers per patch

2 of 4 patches have a Reviewed-by or Acked-by.

PatchKevin WillfordElijah Newren
1/4Helped-by R-b
2/4
3/4
4/4R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

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

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

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
Signature · 1 line
gitgitgadget