Adopt pinned public core snapshot and prepare Sized 2.0.0
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Moving from Sized 1.0 to 2.0
|
||||
|
||||
The existing flags and table/CSV/NDJSON workflows remain. Update automation to
|
||||
handle incomplete scans: exit 0 means a complete result; exit 1 means a missing
|
||||
root, an incomplete scan or another operation failure. CLI argument errors use
|
||||
Clap's exit 2. An incomplete scan may still produce useful output. Diagnostics
|
||||
go to stderr, and each JSON report includes `complete`.
|
||||
|
||||
Hard-linked files now contribute allocated blocks once, owned by the first path
|
||||
in deterministic traversal order. Apparent sizes remain per pathname. Totals
|
||||
may be lower than 1.0 for this reason. Ignore rules inherit through directories;
|
||||
`--one-file-system` explicitly skips other mounted filesystems. Allocation is
|
||||
filesystem-reported blocks, not guaranteed recoverable space.
|
||||
|
||||
## Rust consumers
|
||||
|
||||
The CLI package is version 2.0.0. Its scanner is the exact `sized-core` revision
|
||||
recorded in `CORE-SNAPSHOT.json`, also used by SizeQueen. The core snapshot's
|
||||
internal package version remains 0.0.0; the full Git revision and file hashes
|
||||
identify it. It is an included path dependency, so no private forge access or
|
||||
separate core installation is required.
|
||||
|
||||
Public scanner types and `sized::scan` are re-exported from that dependency.
|
||||
`EntryType` adds `Special` and `Unknown`; update exhaustive matches. `Node` has
|
||||
additional accounting/status fields and internal state; obtain nodes through
|
||||
`scan_tree` instead of struct literals. `Args` adds `one_file_system`, and
|
||||
`run` returns scan completeness as a boolean. `build_tree` remains a compatibility
|
||||
helper, but use `scan_tree` to retain structured errors and diagnostics.
|
||||
|
||||
Use a fresh `ScanControl` per scan. Cancellation is cooperative between
|
||||
filesystem calls. SizeQueen does not launch the CLI; both use the core in process.
|
||||
Reference in New Issue
Block a user