Skip removed paths silently and fix the progress line (closes #133)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A path removed before the scan reaches it, in the walk or the hash phase, gets no warning, no skipped count and no record. If the first of several hard links is gone, the next is read. On a terminal every display is the library's spinner, then the line. A phase with an exact total ends the padded line with its percent and a bar at a fixed column. sfdupes draws that bar: the library shows no spinner beside its own. The time remaining is labelled remain, not eta. Judgement call: an operand removed after the scan starts is passed over silently too. Deviation: README's 80-column promise for stalled lines is narrowed to its example. Model: opus-5-5
This commit is contained in:
@@ -29,6 +29,16 @@
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- a file or directory removed before the scan reaches it is not an error, in the
|
||||
walk or in the hash phase. The scan prints no line for it, does not count it
|
||||
as skipped, and gives it no record. When the first of several hard links to a
|
||||
file is gone, the hash phase reads the next one instead. On a terminal every
|
||||
progress display starts with the spinner, the hash phase's included. A phase
|
||||
with an exact total ends its line with its percent and a 10-column bar at the
|
||||
terminal's right edge, which no longer moves as the line's length changes. The
|
||||
time remaining is labelled `remain`, not `eta` (2026-10-26,
|
||||
https://git.eeqj.de/sneak/sfdupes/issues/133)
|
||||
|
||||
- the `head`, `tail` and `content` columns are BLOBs, each holding the raw 32
|
||||
bytes of a SHA-256, half the size of the hex text they held. The hashes stay
|
||||
raw from the hash phase through the database to `report` and `trees`. Reading
|
||||
|
||||
Reference in New Issue
Block a user