GitXplorerGitXplorer
b

fddf

public
116 stars
9 forks
9 issues

Commits

List of commits on branch master.
Unverified
324197747ed5ac4b8286956378ee6b5682c5df5b

use scoped_threadpool instead of very old scoped_pool

bbirkenfeld committed 3 years ago
Unverified
52718c689c9fabe283e1257bc70ff359f486c197

bump MSRV to 1.48, update

bbirkenfeld committed 3 years ago
Unverified
973550ec80545fabc4f1c1511c9b76055e3e5423

Add option to delimit using NUL for downstream programs.

ccr1901 committed 3 years ago
Unverified
7229172ddf0644c6d9a5d08a657658809dbccb25

update dependencies, bump version

bbirkenfeld committed 5 years ago
Unverified
7f6037d8991699db5fd1d47024ce44619f824531

Updated blake2 to blake3

kkamva9697 committed 5 years ago
Unverified
ac83e1bf12f44310c28d74f0208e767ba1d70c9a

Updated blake2 to blake3

kkamva9697 committed 5 years ago

README

The README file for this repository.

fddf

Fast data dupe finder

This is a small Rust command-line program to find duplicate files in a directory recursively. It uses a thread pool to calculate file hashes in parallel.

Duplicates are found by checking size, then (Blake3) hashes of parts of files of same size, then a byte-for-byte comparison.

Build/install

Directly from crates.io with cargo install fddf.

From checkout:

cargo build --release
cargo run --release

Minimum supported Rust version is 1.48.0.

Usage

fddf [-s] [-t] [-S] [-m SIZE] [-M SIZE] [-v] <rootdir>

-s: report dupe groups in a single line
-t: produce a grand total
-S: don't scan recursively for each directory given
-f: check for files with given pattern only
-F: check for files with given regular expression only
-m: minimum size (default 1 byte)
-M: maximum size (default unlimited)
-v: verbose operation

By default, zero-length files are ignored, since there is no meaningful data to be duplicated. Pass -m 0 to include them.

PRs welcome!