Add three-way file root apply
This commit is contained in:
parent
d9150024dd
commit
606641dd4a
5 changed files with 602 additions and 27 deletions
|
|
@ -40,12 +40,12 @@ Implementation order:
|
|||
- `[x]` `geth status` reports the current bootstrap backend, target crate,
|
||||
target version, and blocker for CAS, KV, and pubsub.
|
||||
|
||||
3. `[ ]` Polish file sync reconciliation.
|
||||
3. `[x]` Polish file sync reconciliation.
|
||||
Acceptance criteria:
|
||||
- `[ ]` Add a safe three-way apply path for non-conflicting
|
||||
- `[x]` Add a safe three-way apply path for non-conflicting
|
||||
create/update/delete/rename changes.
|
||||
- `[ ]` Keep ambiguous changes as durable conflicts.
|
||||
- `[ ]` Add two-root integration coverage.
|
||||
- `[x]` Keep ambiguous changes as durable conflicts.
|
||||
- `[x]` Add two-root integration coverage.
|
||||
|
||||
4. `[ ]` Replace JSON document state with durable Automerge documents.
|
||||
Acceptance criteria:
|
||||
|
|
@ -108,11 +108,11 @@ Implementation order:
|
|||
|
||||
- `[~]` File sync reconciliation polish.
|
||||
Acceptance criteria:
|
||||
- `[ ]` `cas root apply` has a richer three-way base/local/remote reconcile
|
||||
- `[x]` `cas root apply` has a richer three-way base/local/remote reconcile
|
||||
path for safe updates and deletes.
|
||||
- `[ ]` Ambiguous changes continue to produce durable conflicts instead of
|
||||
- `[x]` Ambiguous changes continue to produce durable conflicts instead of
|
||||
overwriting local files.
|
||||
- `[ ]` Tests cover create/update/delete/rename application across two local
|
||||
- `[x]` Tests cover create/update/delete/rename application across two local
|
||||
roots.
|
||||
|
||||
- `[~]` Durable Automerge documents.
|
||||
|
|
@ -717,8 +717,12 @@ and future group key evolution.
|
|||
and directories from a CAS tree without deleting extras or overwriting local
|
||||
edits.
|
||||
- `[x]` Apply records durable conflicts for differing local paths.
|
||||
- `[ ]` Future completion adds a richer three-way apply using base/local/remote
|
||||
trees for automatic safe updates and deletes.
|
||||
- `[x]` `geth cas root apply <root> --to <path>` uses a registered local
|
||||
root's previous scan as the base for automatic safe creates, updates,
|
||||
deletes, and renames when the current local filesystem still matches that
|
||||
base.
|
||||
- `[x]` Ambiguous three-way changes remain durable conflicts instead of being
|
||||
overwritten.
|
||||
|
||||
- `[x]` Conflict handling.
|
||||
Acceptance criteria:
|
||||
|
|
|
|||
Loading…
Reference in a new issue