Find files matching given criteria quickly, find duplicated files and deduplicate them, record file hashes and verify them, etc.
All notable changes to this project are documented in this file. The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
Also, at the bottom of this file there is a TODO list with planned future changes.
find-duplicates, deduplicate:
Changed the meaning of --shard NUM/SHARD to mean --shard NUM/NUM/SHARD instead of the previous --shard NUM/SHARD/SHARD.
I.e. --shard NUM/SHARD syntax now means “process the shard number NUM”, not “process all shards starting from NUM”.
The previous interpretation was too surprising.
Improved performance, especially when feeding INPUTs with --stdin0.
*:
Improved symlink resolution in INPUTs.
From now on, hoardy will only follow symlinks in dirname parts of in given INPUTs, which allows all subcommands to properly work with paths that point to symlink inodes.
The exception to this are find-duplicates --stdin0 and deduplicate --stdin0 which skip all path resolutions on all paths given via the stdin, because, otherwise, program performance in most common use cases becomes absolutely awful.
Improved error handling.
Improved log messages.
Improved documentation.
index:
Fixed --no-add and --no-update statting too much.
E.g., hoardy index --no-update should not stat any known files at all now.
This is how it was supposed to work, but I broke it while refactoring in 0caacc0730b23c33e597bc5fd0b7600073cdbc16.
v4, to save lots of database space.hoardy-web into here.find.RHash outputs..gitignore and similar.uids, birthtime_ns, etc.--shard automatically, by querying available RAM.--stdin0 inputs.rsync on my use cases.git-annex on my use cases.Perkeep on my use cases.