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
2021-03-222.3.2HEAD2.3.2masterAndrew Gallant
2021-03-22api: add convenience sort routinesMarvin Löbel
This commit adds sort_by_key and sort_by_file_name convenience routines for common sorting needs. The signature for sort_by_key in particular mirrors the eponymous method on slices in the standard library. Closes #147
2020-12-13readme: use HTTPS for linksAlex Touchet
PR #144
2020-05-07tests: replace "cfg(test)" with "cfg(doctest)" for readme testingGuillaume Gomez
PR #135
2020-01-11ci: set override to force selected Rust versionAndrew Gallant
2020-01-112.3.12.3.1Andrew Gallant
2020-01-11edition: switch to Rust 2018Andrew Gallant
2020-01-11style: switch to rustfmtAndrew Gallant
2020-01-11ci: switch to actions-rs/toolchainAndrew Gallant
2020-01-112.3.02.3.0Andrew Gallant
2020-01-11style: use 'dyn' for trait objectsAndrew Gallant
And also add a `source` method on the `Error` impl. And finally, permit the use of the deprecated `description` method, since removing it would be a breaking change.
2020-01-11msrv: bump to 1.34.0Andrew Gallant
For now, we don't switch to Rust 2018 to avoid creating a larger-than-necessary divergence with the in-progress walkdir 3 rewrite.
2020-01-11ci: switch to GitHub ActionsAndrew Gallant
2020-01-11readme: document MSRV policyAndrew Gallant
2019-07-202.2.92.2.9Andrew Gallant
2019-07-20bug: fastidiously increment oldest_openedAndrew Gallant
A somewhat recent change permitted the `push` function to exit early after `oldest_opened` was incremented, but before a new entry was pushed on to the stack. Specifically, the only way this could happen was if a handle could not be opened to an ancestor path, on Windows only. We fix this by incrementing `oldest_opened` only after we push a new entry to the stack. Credit goes to @LukasKalbertodt for figuring out this bug!
2019-07-20bug: fix use of skip_current_dirLukas Kalbertodt
The method sometimes destroyed an internal invariant by not decreasing `oldest_opened`. That then leads to panics in `push`. We fix this by calling the canonical `pop` function, which is what should have happened from the beginning. This includes a regression test that fails without this fix. Fixes #118, Closes #124
2019-07-20internals: re-arrange implementationAndrew Gallant
This moves the DirEntry and Error types out into their own separate modules. This is prep work to (hopefully) make the impending refactoring (or more likely, rewrite) more palatable.
2019-07-20tests: rewrite themAndrew Gallant
This gets rid of a lot of unnecessary infrastructure around maintaining the directory hierarchy in a tree. This was principally used in order to support effective quickcheck tests, but since we dropped quickcheck, we no longer need such things. We know center tests around the Dir type, which makes setting up the tests simpler and easier to understand.
2019-07-20tests: restructure themAndrew Gallant
This is in preparation to rewrite the tests.
2019-07-20deps: drop quickcheck and randAndrew Gallant
These weren't carrying their weight. Depending on rand is super annoying, so just stop doing it. In particular, we can bring back the minimal version check.
2019-07-20list: add new walkdir-list binaryAndrew Gallant
This supplants the previous "example" which was more like a debugging program. So this commit not only rewrites it (dropping docopt in the process in favor of clap), but moves it to its own non-published binary crate.
2019-07-20deps: bump rand and quickcheckAndrew Gallant
... to 0.6 and 0.8, respectively. We aren't running tests on the MSRV any more any way, so we might as well keep on moving. Unfortunately, the rand ecosystem refuses to advertise and maintain correct minimal versions in their Cargo.toml, so we have to remove the minimal version check.
2019-06-092.2.82.2.8Andrew Gallant
2019-06-09style: allow bare trait objectsAndrew Gallant
Because we aren't ready to bump our MSRV yet.
2019-06-09ci: remove minimal version checkAndrew Gallant
Because rand. Sigh.
2019-06-09deps: update rand to 0.6Andrew Gallant
2019-06-09deps: update quickcheck to 0.8Igor Gnatenko
2019-05-01cleanup: remove unused files from the old daysAndrew Gallant
2019-05-01test: check examples in READMEGuillaume Gomez
PR #119
2019-04-30ci: stop testing on MSRV, build onlyAndrew Gallant
2019-04-30code: remove unnecessary mutAndrew Gallant
2018-11-112.2.72.2.7Andrew Gallant
2018-11-11walkdir: fix root symlink bugAndrew Gallant
This commit fixes a nasty bug where the root path given to walkdir was always reported as a symlink, even when 'follow_links' was enabled. This appears to be a regression introduced by commit 6f72fce as part of fixing BurntSushi/ripgrep#984. The central problem was that since root paths should always be followed, we were creating a DirEntry whose internal file type was always resolved by following a symlink, but whose 'metadata' method still returned the metadata of the symlink and not the target. This was problematic and inconsistent both with and without 'follow_links' enabled. We also fix the documentation. In particular, we make the docs of 'new' more unambiguous, where it previously could have been interpreted as contradictory to the docs on 'DirEntry'. Specifically, 'WalkDir::new' says: If root is a symlink, then it is always followed. But the docs for 'DirEntry::metadata' say This always calls std::fs::symlink_metadata. If this entry is a symbolic link and follow_links is enabled, then std::fs::metadata is called instead. Similarly, 'DirEntry::file_type' said If this is a symbolic link and follow_links is true, then this returns the type of the target. That is, if 'root' is a symlink and 'follow_links' is NOT enabled, then the previous incorrect behavior resulted in 'DirEntry::file_type' behaving as if 'follow_links' was enabled. If 'follow_links' was enabled, then the previous incorrect behavior resulted in 'DirEntry::metadata' reporting the metadata of the symlink itself. We fix this by correctly constructing the DirEntry in the first place, and then adding special case logic to path traversal that will always attempt to follow the root path if it's a symlink and 'follow_links' was not enabled. We also tweak the docs on 'WalkDir::new' to be more precise. Fixes #115
2018-11-07ci: pin to lazy_static 1.1 in CIAndrew Gallant
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