Store mtime in nanoseconds so a same-second rewrite is re-hashed (closes #12)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
scan recorded mtime in whole seconds, so a file rewritten in place at the same size within the same second as its recorded mtime was classed unchanged and kept its old hashes. The walk, a file given as an operand, and the content phase's recheck now all use ModTime().UnixNano(); the change rule itself is unchanged. The column stays INTEGER and PRAGMA user_version stays 1, per the owner's ruling. A database written by an earlier build holds seconds, so its files count as changed once, at the next scan that covers them. README states the new resolution. Model: opus-5-5
This commit is contained in:
@@ -29,6 +29,10 @@
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- `scan` records mtime in Unix nanoseconds and compares it at that resolution,
|
||||
so a same-size rewrite within the same second is re-hashed (2026-10-07,
|
||||
https://git.eeqj.de/sneak/sfdupes/issues/12)
|
||||
|
||||
- cut the narration from `TODO.md` Completed Steps and from the comments in
|
||||
`script/` and both Dockerfiles; §Workflow now branches from and merges to
|
||||
`next` (2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/49)
|
||||
|
||||
Reference in New Issue
Block a user