sfdupes is pre-1.0, with no installed base and no databases anywhere, so the schema is changed in place and its version stays 1. schemaVersion goes back to 1; the six-column files table, content included, is the version 1 schema. The check that stops on a database with any other version stays. README.md and TODO.md no longer describe a version 2 or rejecting and rescanning version 1 databases. The main.go package comment still described 1024-byte end windows and said full file contents are never read; it now describes the hashes the code computes. Model: opus-5-5
This commit was merged in pull request #63.
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
// Command sfdupes quickly identifies candidate duplicate files across
|
||||
// very large filesystems without reading full file contents. Files are
|
||||
// considered duplicates when they have identical size, identical SHA-256
|
||||
// of their first 1024 bytes, and identical SHA-256 of their last 1024
|
||||
// bytes. scan maintains a persistent SQLite database of file signatures
|
||||
// (SFDUPES_DATABASE, default /var/lib/sfdupes/db.sqlite) that the
|
||||
// reporting subcommands read.
|
||||
// very large filesystems without reading every byte of every file.
|
||||
// Files are considered duplicates when their sizes are equal and they
|
||||
// agree on a short ladder of SHA-256 hashes. A file under 10 MiB is
|
||||
// hashed in full. A larger file is compared on the hashes of its first
|
||||
// and last 64 KiB and on a content hash: of the whole file when it is
|
||||
// under 50 MiB, or of gigabyte-spaced 1 MiB samples when it is 50 MiB
|
||||
// or larger. scan maintains a persistent SQLite database of file
|
||||
// signatures (SFDUPES_DATABASE, default /var/lib/sfdupes/db.sqlite)
|
||||
// that the reporting subcommands read.
|
||||
//
|
||||
// Usage:
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user