GitShow/BurntSushi/walkdir
BurntSushi

walkdir

Rust library for walking directories recursively.

by BurntSushi
Star on GitHubFork

Rust

1.5k stars132 forks41 contributorsQuiet · 3mo agoSince 2015Unlicense

Meet the team

See all 41 on GitHub →
BurntSushi
BurntSushi134 contributions
budziq
budziq5 contributions
jeremielate
jeremielate4 contributions
opilar
opilar4 contributions
yufengwng
yufengwng3 contributions
AndyGauge
AndyGauge2 contributions
GuillaumeGomez
GuillaumeGomez2 contributions
igor-raits
igor-raits2 contributions

Languages

View on GitHub →
Rust99.3%
C0.5%
Python0.2%

Commit activity

Last 12 weeks · 0 commits

Full graph →

Community health

2 of 6 standards met

Community profile →
42
✓README✓License○Contributing○Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Quiet · Last activity 3mo ago
See all on GitHub →
sparr
bug: detect symlink loops above the root of the walkOpenPR

Currently only considers directories below the starting directory. The recursive walk happily follows links to directories above that, including to . I discovered this when vscode used ripgrep to search for in a project directory that contained a WINEPREFIX, including the typical -> symlink. It followed its multi-threaded code path and didn't use walkdir, so the outcome was much worse, but if it had used walkdir it still would have emitted 2k+ invalid matches all over my filesystem and 300k+ lines to stderr about /proc and /dev access failures before I eventually killed it for maxing out a cpu core. This PR takes seeds with the ancestor directories so they are included in the loop check. now takes a rather than a . On Windows it opens a handle per ancestor and holds it for the walk, as it already does for the rest of , so a deep root costs a few more descriptors. There are three new tests included. See https://github.com/BurntSushi/ripgrep/pull/3534 The code and commit message for this PR were authored approximately 60% by Claude Opus 5.

sparr · 6d ago
CyberneticX-Tech
docs: update stale references to fs::DirEntry and note descriptor behavior (#167)OpenPR

Description Resolves #167. This PR addresses two documentation inaccuracies / omissions regarding : 1. Updates comments on and that described closed directory handles as reading into a . The internal representation yields , not . 2. Adds a clarifying note under in noting that unlike on some platforms which retains an open directory handle/file descriptor, does not retain an open descriptor. Verification : 47 unit tests passed, 20 doc-tests passed. : documentation rendered cleanly without warnings.

CyberneticX-Tech · 2w ago
Ericson2314
Fix all TOCTOU and long path issues with `cap-std`OpenIssue

To quote https://github.com/BurntSushi/walkdir/issues/23#issuecomment-4323489497 tl;dr; of the above relevant discussions: The correct way to do this on UNIX-like OSes is to use openat to open relative to the parent directory. That's exactly right. Fix #23, #181, #209 and others https://github.com/BurntSushi/walkdir/issues/120 is also related --- the safe approach is more performant too, and that issue ended up discussing reimplementing things along these lines. I and my coworkers would be happy to take a stab at contributing this. We can use for now, and https://github.com/rust-lang/rust/issues/120426 later once it is stable.

Ericson2314 · 1mo ago

Recent fixes

View closed PRs →
robjtede
ci: disable checkout credential persistenceMergedPR

(opened by mistake; I wrote a script which didn't filter forks out, sorry)

robjtede · 1mo ago
Structured data for AI agents

Repository: BurntSushi/walkdir. Description: Rust library for walking directories recursively. Stars: 1544, Forks: 132. Primary language: Rust. Languages: Rust (99.3%), C (0.5%), Python (0.2%). License: Unlicense. Open PRs: 29, open issues: 26. Last activity: 3mo ago. Community health: 42%. Top contributors: BurntSushi, budziq, jeremielate, opilar, yufengwng, AndyGauge, GuillaumeGomez, igor-raits, tmccombs, nivkner and others.

·@ofershap

Replace github.com with gitshow.dev