repair manages optional repair data for normal CAS objects. It can estimate the data that would be needed, prepare repair shards, inspect existing RepairSets, verify repair data, and restore recoverable missing or corrupted normal CAS objects.
Repair data is snapshot-local and is not a full backup. Keep normal backups for important work. Use repair as an additional recovery aid, not as the only copy of your data.
In a format v2 repository, repair groups chunks with pack files in mind, so losing one whole pack file can still be recovered. repair reindex rebuilds the chunk index from the index stored at the end of each pack file.
rinne repair estimate [--space <space>] [--parallel <N>] <selector>
rinne repair prepare [--space <space>] [--parallel <N>] <selector>
rinne repair status [--space <space>]
rinne repair verify [--space <space>] <selector>
rinne repair run [--space <space>] [--dry-run] <selector>
rinne repair prune [--space <space>] [--dry-run]
rinne repair clear (--space <space> | --all-spaces) (--dry-run | --force)
rinne repair reindex [--dry-run]rinne repair estimate '@0'rinne repair prepare '@0'rinne repair statusrinne repair verify '@0'rinne repair run --dry-run '@0'rinne repair run '@0'rinne repair prune --dry-runrinne repair clear --space main --forcerinne repair reindex --dry-run- Selectors accept @N, full ids, and unique prefixes. In PowerShell, quote selectors such as '@0'.
- Progress is written to stderr. Final results are written to stdout.
- Repair data is snapshot-local and is not a full backup.
- Source snapshots must remain available for repair to be valid.
- Use repair prune or repair clear to maintain repair data. Avoid manual edits under .rinne/store/repair/.
- repair reindex only adds rows for chunks that have neither an index row nor a loose file. Rows that disagree with a pack are reported and left unchanged, because the database is treated as the source of truth.
- When repair prepare finds a group that no longer follows the pack-aware rule (for example after gc rewrote packs), it rebuilds that group instead of reusing it.