Add safe file-root apply
This commit is contained in:
parent
bab13cc0a1
commit
5c91635ea2
8 changed files with 394 additions and 14 deletions
10
README.md
10
README.md
|
|
@ -108,9 +108,10 @@ The bootstrap implementation provides:
|
|||
`unpin`, `cleanup`, `providers`, `list`; remote fetch accepts
|
||||
`--bearer-secret <secret>`
|
||||
- local CAS tree objects describe file trees and are stored as CAS blobs
|
||||
- local file-root commands: `geth cas root add/list/scan/sync`; root sync pulls
|
||||
authorized remote tree metadata and CAS tree bytes into a peer-qualified
|
||||
remote root without writing files
|
||||
- local file-root commands: `geth cas root add/list/scan/sync/apply`; root sync
|
||||
pulls authorized remote tree metadata and CAS tree bytes into a peer-qualified
|
||||
remote root, and apply materializes a tree without deleting files or
|
||||
overwriting local edits
|
||||
- local file conflict metadata commands:
|
||||
`geth cas conflict record/list/resolve`
|
||||
- local DB resource registration: `geth db add <name> <path>` and
|
||||
|
|
@ -180,6 +181,9 @@ local daemon skip unchanged or unauthorized streams.
|
|||
File roots advertise `cas-tree:<name>` watermarks when the caller has
|
||||
`cas.fetch`; background live-sync imports updated tree metadata and CAS tree
|
||||
bytes into peer-qualified remote roots without writing files.
|
||||
`geth cas root apply <root> --to <path>` can then materialize that tree locally:
|
||||
it creates missing directories/files, never deletes extra files, never
|
||||
overwrites differing local files, and records conflicts for manual resolution.
|
||||
Named KV stores participate in the same live-sync loop once they exist locally:
|
||||
manual `geth kv sync <node-id> <name>` and background ticks require `kv.read`
|
||||
on the remote `resource:kv:<name>` and import only remote entries that are not
|
||||
|
|
|
|||
Loading…
Reference in a new issue