mirror: true overall progress via --check-first + visible scan phase
With SFTP remotes rclone lists the tree while transferring, so the `Transferred:` total grows during the run: the first ticks showed a single file's percentage (e.g. 2.9 MiB / 8.6 MiB, 35%) which then collapsed to 0% once the real 113 GiB total appeared. That is what looked like "progress per album". - pass --check-first: rclone finishes the remote listing before any transfer starts, so the byte total is final and the gauge is a true overall percentage for the whole mirror - while scanning, no bytes move yet, so the panel now shows `Scanning remote · 11,810 items listed` and `0 B / 113 GiB to transfer` (parsed from rclone's `Checks: … Listed N`) instead of a bogus 0% bar - once transfers start the display switches back to percentage + bytes + current file Verified against the real storagebox remote (capped with RCLONE_MAX_TRANSFER): scan ticks show listed counts climbing to 11,810 with the pending total, then transfers show `9.984 MiB / 113.477 GiB` with the final denominator and no per-file percentage jumps. Bump to 0.3.2.
This commit is contained in:
@@ -87,7 +87,10 @@ Firmware types: `apple` (podkit command), `rockbox`, `android`, `sony`
|
||||
## How the sync pipeline works
|
||||
|
||||
1. **Mirror** — `rclone sync` (or local `rsync`) pulls the StorageBox source
|
||||
into the local library.
|
||||
into the local library. rclone runs with `--check-first`, so the remote
|
||||
listing completes before transfers start: the gauge then shows a true
|
||||
overall percentage instead of the growing-total estimate, and the listing
|
||||
phase is displayed as `Scanning remote · N items listed`.
|
||||
2. **Diff** — the device is scanned and compared to the source with
|
||||
NFC-normalised paths, size, and 2-second-rounded mtimes (FAT32 friendly).
|
||||
3. **Sync** — stale files are removed first, then `rsync --files-from` copies
|
||||
|
||||
Reference in New Issue
Block a user