mirror of
https://github.com/storytold/craft-anything.git
synced 2026-11-05 20:47:45 +01:00
07fe869dc4
A runtime capture compared a file's size, type and hash. When the file was over the hashing budget (or couldn't be read), neither snapshot had a hash, so a rewrite at the same size was reported as `unchanged`. Now: - such a file is `unknown`; - a file is `modified` only when its size or type changed, or both hashes exist and differ; - a symlink pointed somewhere else with a target of the same length is `modified` (only the target's length was compared before). **Verified:** a new unit test of `effects` (unhashed on either side, equal and different hashes, a size change, symlink retargets); `cargo test -p craft-anything-platform` (47 passed), clippy, fmt. The test runs on every OS, unlike the shell-based capture tests. **Not verified:** a live run of the issue's capture probe on macOS. Fixes #229