Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/walkdir.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-292.2.62.2.6Andrew Gallant
2018-10-29ci: exclude CI filesIgor Gnatenko
PR #114
2018-08-252.2.52.2.5Andrew Gallant
2018-08-25deps: update to quickcheck 0.7Andrew Gallant
2018-08-252.2.42.2.4Andrew Gallant
2018-08-25windows: replace winapi ffi with winapi-utilAndrew Gallant
We do still need winapi for a std-library work-around.
2018-08-252.2.32.2.3Andrew Gallant
2018-08-25deps: update for minimal-versionsJacob Finkelman
PR #112
2018-08-232.2.22.2.2Andrew Gallant
2018-08-23walkdir: add option to stay on same file systemAron Griffis
This commit includes a new method, `same_file_system`, which when enabled, will cause walkdir to only descend into directories that are on the same file system as the root path. Closes #8, Closes #107
2018-08-23DirEntry: add into_path methodAndrew Gallant
This can avoid an allocation and copy in iterator chains that need to produce a PathBuf. PR #100
2018-08-222.2.12.2.1Andrew Gallant
2018-08-22path_is_symlink: fix false positiveAndrew Gallant
This commit fixes a bug where the first path always reported itself as as symlink via `path_is_symlink`. Partially fixes https://github.com/BurntSushi/ripgrep/issues/984
2018-08-22deps: update docopt to 1.0Andrew Gallant
2018-08-052.2.02.2.0Andrew Gallant
2018-08-05msrv: bump minimum Rust to 1.23Andrew Gallant
lazy_static increased there's, so we might as we do ours.
2018-06-13redox: remove uses of Unix-only thingsAndrew Gallant
The code for `cfg(not(any(unix, windows)))` is untested and contained a few errors that this commit cleans up.
2018-06-13Fix compilation on RedoxJeremy Soller
2018-05-27doc: use syntax highlighting in READMEJędrzej
2018-04-10add DirEntry::into_pathRuud van Asseldonk
This can avoid an allocation and copy in iterator chains that need to produce a PathBuf.
2018-02-212.1.42.1.4Andrew Gallant
2018-02-21performance: fix regressionAndrew Gallant
This commit fixes a performance regression introduced in commit 0f4441, which aimed to fix OneDrive traversals. In particular, we added an additional stat call to every directory entry, which can be quite disastrous for performance. We fix this by being more fastidious about reusing the Metadata that comes from fs::DirEntry, which is, conveniently, cheap to acquire specifically on Windows. The performance regression was reported against ripgrep: https://github.com/BurntSushi/ripgrep/issues/820
2018-02-21compile: clean up cfgsAndrew Gallant
In some cases, we were relying on things like "not(unix)" to mean "windows" or "not(windows)" to mean "unix". Instead, we should split this in three cases: unix, windows or not(unix or windows).
2018-02-10doc: improve stdout in contents_first exampleMichael Lamparski
A big potential question on the reader's mind when reviewing these docs is "what will the paths returned by the iterator be relative to?" This is the one example on the page which shows output that could potentially answer that question, and to only see filenames is needlessly discouraging.
2018-02-022.1.32.1.3Andrew Gallant
2018-02-02windows: more carefuly is_dir checkingAndrew Gallant
This fixes a bug where a symlink was followed even if the user did not request it. Namely, on Windows, a symlink can be interpreted as both a symlink and a directory, given our new is_dir checking.
2018-02-02windows: use entry file typeAndrew Gallant
Using fs::metadata will always read through a link, and we want to preserve the type of the original entry.
2018-02-02gitignore: add tmp dirAndrew Gallant
2018-02-022.1.22.1.2Andrew Gallant
2018-02-02windows: fix OneDrive traversalsAndrew Gallant
This commit fixes a bug on Windows where walkdir refused to traverse directories that resided on OneDrive via its "file on demand" strategy. The specific bug is that Rust's standard library treats a reparse point (which is what OneDrive uses) as distinct from a file or directory, which wreaks havoc on any code that uses FileType::{is_file, is_dir}. We fix this by checking the directory status of a file by looking only at whether its directory bit is set. This bug was originally reported in ripgrep: https://github.com/BurntSushi/ripgrep/issues/705 It has also been filed upstream: https://github.com/rust-lang/rust/issues/46484 And has a pending fix: https://github.com/rust-lang/rust/pull/47956
2018-02-022.1.12.1.1Andrew Gallant
2018-02-02traversal: more robust error handlingAndrew Gallant
This fixes a bug in walkdir that happened on Windows when following symlinks. It was triggered when opening a handle to the symlink failed. In particular, this resulted in the two stacks in the walkdir iterator getting out of sync. At some point, this tripped a panic when popping from one stack would be fine but popping from the other failed because it was empty. We fix this by only pushing to both stacks if and only if both pushes would succeed. This bug was found via ripgrep. See: https://github.com/BurntSushi/ripgrep/issues/633#issuecomment-339076246
2018-01-312.1.02.1.0Andrew Gallant
2018-01-31errors: keep context when converting to io::ErrorGarrett Berg
This commit tweaks the `From<walkdir::Error> for io::Error` implementation to always retain the current context when constructing the `io::Error`. This differs from the previous implementation in that the original raw I/O error is no longer returned. To compensate, a new method, `into_io_error`, has been added which returns the original I/O error, if one exists. We do not consider this a breaking change because the documentation for the `From` impl always stated that it existed for ergonomic reasons. Arguably, the implementation in this commit is a more faithful reflection of that documentation. This commit also clears up the public documentation surrounding the aforementioned methods.
2018-01-17docs: fix a couple broken linksJason Grlicky
2018-01-01deps: bump quickcheck to 0.6 and rand to 0.4Igor Gnatenko
2017-10-222.0.12.0.1Andrew Gallant
2017-10-22doc: formattingAndrew Gallant
Doc strings on public items should always start with a short one sentence description. This is for readability purposes, and also to make the display reasonable in rustdoc.
2017-10-21deps: remove winapi and kernel322.0.0Andrew Gallant
These are extraneous at this point. The Windows specific logic is now encapsulated in the same-file crate.
2017-10-21doc: bump version number to 2Andrew Gallant
2017-10-21deps: upgrade to same-file 1.0Andrew Gallant
2017-10-21symlinks: optimize check loop on WindowsAndrew Gallant
Broadly speaking, this commit is an attempt to fix this issue: https://github.com/BurntSushi/ripgrep/issues/633 It was reported that symlink checking was taking a long amount of time, and that one possible way to fix this was to reduce number of times a file descriptor is opened. In this commit, we amortize opening file descriptors by keeping a file handle open for each ancestor in the directory tree. We also open a handle for the candidate file path at most once, instead of once every iteration. Note that we only perform this optimization on Windows, where opening a file handle seems inordinately expensive. In particular, this now causes us to potentially open more file descriptors than the limit set by the user, which only happens when following symbolic links. We document this behavior.
2017-10-21style: switch from try! to ?Andrew Gallant
2017-10-21doc: touchupsAndrew Gallant
2017-10-21unix: actually export DirEntryExtAndrew Gallant
2017-10-21formatting: misc and wrap to 80 colsAndrew Gallant
2017-10-21ci: bump to Rust 1.17Andrew Gallant
2017-10-21symlink: rename symbolic_link to symlinkAndrew Gallant
Fixes #80
2017-10-21examples: upgrade to docopt 0.8Andrew Gallant
2017-10-07fix formattingAndrew Gallant