Leave removed copies out of report and trees (closes #173)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A deleted duplicate stayed in both reports until a scan covered it, and a missing scan operand is a fatal error. report now runs lstat on each path of a possible duplicate group and drops paths that are gone; trees does the same for the directory at the top of each copy, never the files inside. A group left with one copy is not reported. Only "does not exist" and "not a directory" count as gone, so a permission error keeps the copy for an unprivileged user. README says a stale report is fixed by scanning again. Model: opus-5-5
This commit is contained in:
1 parent
6c529fcc6d
commit
f9299a7ce3
8 files changed
+354
-94
No files matched your search
@@ -29,10 +29,17 @@
|
||||
Newest first. An entry ends with its date and its issue or branch, where those
|
||||
are known.
|
||||
|
||||
- `report` and `trees` leave out a copy that was deleted after the scan. Each
|
||||
checks only the copy itself with `lstat`: the file, or the directory at the
|
||||
top of a tree. A group left with one copy is not reported. A missing `scan`
|
||||
operand is still a fatal error (2026-11-11,
|
||||
https://git.eeqj.de/sneak/sfdupes/issues/173)
|
||||
|
||||
- `report` and `trees` leave out empty files. `report` writes no group of size
|
||||
0, and `trees` writes no group whose trees hold 0 bytes. An empty file still
|
||||
counts toward a tree's digest (2026-11-11,
|
||||
https://git.eeqj.de/sneak/sfdupes/issues/178)
|
||||
|
||||
- The Go code moved out of the repository root. `cmd/sfdupes/main.go` is the
|
||||
command, and it calls `Main` in the package `internal/sfdupes`. `main.go`
|
||||
became `internal/sfdupes/cli.go`. Every other file kept its name. The install
|
||||
|
||||
Reference in new issue
Block a user