Stop remote info counting a non-blob file under blobs/ (closes #295)
check / check (push) Failing after 3m40s

remote info counted every four-part key under blobs/ as a blob, while
prune skips a name that is not a blob hash. A stray file such as
.DS_Store was reported as an orphaned blob, with advice to run prune,
which then deleted nothing. remote info now takes its blob list from
prune's listAllRemoteBlobs, so its blob and orphan figures, in the
table and in --json, cover exactly what prune would consider.

blobKeyParts moves to prune.go, its only remaining user.

Model: opus-5-5
This commit is contained in:
2026-10-12 23:56:07 +00:00
parent c9a519c233
commit 72a30582e8
5 changed files with 56 additions and 20 deletions
+3 -1
View File
@@ -393,7 +393,9 @@ recipients, and local database statistics.
**`remote info`**: Show storage backend type and location plus detailed
remote storage inventory: per-snapshot metadata sizes, blob counts, and
orphaned blob detection. A name under `metadata/` that is not a remote
key is skipped with a warning and is not printed. If a listed
key is skipped with a warning and is not printed. A file under `blobs/`
whose name is not a blob hash is not counted as a blob, since `prune`
never deletes it. If a listed
`manifest.json.zst` cannot be read, or sits under a skipped name, the
orphaned blob figures are reported as unknown; `--json` gives them as
`null`, lists the remote key of each unreadable manifest in