Antonio Scandurra
2fe736fc6b
🎨
2023-08-05 15:33:57 +02:00
Antonio Scandurra
92d748134e
Revisit synchronization algorithm to detect holes in either sequence
2023-08-05 12:01:09 +02:00
Antonio Scandurra
8d7b37b743
Revisit synchronization routine to perform fewer roundtrips
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-08-04 19:42:02 +02:00
Antonio Scandurra
f1fe0007e3
Log roundtrips only when RUST_LOG=debug
2023-08-04 16:12:54 +02:00
Antonio Scandurra
d66af5c4d2
Avoid talking about trees when subdividing ranges
2023-08-04 15:49:08 +02:00
Antonio Scandurra
dc049ca7d2
💄
2023-08-04 15:01:39 +02:00
Antonio Scandurra
6251399d0a
Add randomized test for synchronization
2023-08-04 11:49:14 +02:00
Antonio Scandurra
e979f753f2
Cleanup
2023-08-04 11:28:31 +02:00
Antonio Scandurra
80f9b553c7
Avoid mutating the server as we synchronize
2023-08-04 11:26:43 +02:00
Antonio Scandurra
bd0a9eb704
Test various depths, bases and min_operations in sync
2023-08-04 08:54:38 +02:00
Antonio Scandurra
52beac9fa5
💄
2023-08-03 19:33:38 +02:00
Antonio Scandurra
c603ef3f3d
Get an initial implementation of sync working
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-08-03 18:57:16 +02:00
Antonio Scandurra
eb79ea6ee5
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-08-03 18:09:42 +02:00
Antonio Scandurra
26cb5e316d
WIP
2023-08-03 15:22:23 +02:00
Nathan Sobo
974d07d304
Start on a different sync approach
...
We created a function range_digests, which creates a vector of digests for
a tree of nested ranges up to a certain depth or down to a certain range size.
Co-Authored-By: Antonio Scandurra <antonio@zed.dev >
2023-08-02 11:41:35 -06:00
Antonio Scandurra
d8f6dc3749
📝
2023-08-02 13:45:25 +02:00
Antonio Scandurra
3ebe2f97cc
WIP: re-create a Checkout when reloading repo if it was published
2023-08-02 13:03:02 +02:00
Antonio Scandurra
400105cf18
Add todo
2023-08-02 09:51:12 +02:00
Antonio Scandurra
ba6f1d7281
Save dirty revisions in the background
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-08-01 17:14:08 +02:00
Antonio Scandurra
86b0ed8fda
Implement Revision::load_documents
...
Co-Authored-By: Julia Risley <julia@zed.dev >
2023-08-01 16:18:57 +02:00
Antonio Scandurra
50f507e38e
Maintain ref counts for document handles
2023-08-01 15:07:32 +02:00
Antonio Scandurra
7fbe5910b9
Remove DbSnapshot
2023-08-01 10:05:06 +02:00
Antonio Scandurra
7f49ca4adb
Simplify apply_operations
2023-08-01 09:48:17 +02:00
Antonio Scandurra
b751fe9e98
💄
2023-08-01 09:21:55 +02:00
Antonio Scandurra
85c9b30e9f
Experiment with a RevisionCache struct
2023-07-31 16:32:10 +02:00
Antonio Scandurra
82c022adb3
Avoid descending into trees that have already been fully loaded
2023-07-31 15:18:05 +02:00
Antonio Scandurra
7494fdc738
Remove async_recursion from crdb
2023-07-31 14:20:01 +02:00
Antonio Scandurra
1919a5bb63
Use Arc<str> as the key type for RepoSnapshot::branch_ids_by_name
2023-07-31 14:16:20 +02:00
Antonio Scandurra
308c29d377
Remove Default constraint from btree::Map keys
2023-07-31 14:14:09 +02:00
Antonio Scandurra
eacb37e200
Fix basic collaboration test
2023-07-31 13:10:50 +02:00
Antonio Scandurra
083c857fa0
Rename traverse to rewind
2023-07-31 12:53:40 +02:00
Antonio Scandurra
1d0ff4bf8e
Optimize revision traversal and reconstruction
2023-07-31 12:45:34 +02:00
Antonio Scandurra
9cbe3cca9a
WIP
2023-07-31 11:57:38 +02:00
Antonio Scandurra
ce17cd83cf
Redesign history traversal
2023-07-31 11:39:41 +02:00
Antonio Scandurra
05ec6b89c2
WIP
2023-07-30 13:45:31 +02:00
Antonio Scandurra
93701f9c5d
Avoid incrementing operation id if it's unnecessary for causality
2023-07-30 12:15:34 +02:00
Antonio Scandurra
083bfc6cbc
Reify a History struct
...
This has to be integrated still.
2023-07-30 11:57:02 +02:00
Antonio Scandurra
a084a93ef0
Make apply_operations asynchronous
2023-07-29 15:36:52 +02:00
Antonio Scandurra
84bf6c5a16
Use pointer equality to detect changes to the repo snapshot
2023-07-29 11:54:13 +02:00
Antonio Scandurra
e99f82f855
Start on loading/saving revisions
2023-07-29 11:54:02 +02:00
Antonio Scandurra
ba3353d127
Allow loading and saving of ropes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-07-28 19:58:31 +02:00
Antonio Scandurra
2887c4674d
Load fewer items in randomized tests for partially loaded trees
2023-07-28 19:57:03 +02:00
Antonio Scandurra
22e8a67498
Load branch from kv store if necessary
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-07-28 19:14:58 +02:00
Antonio Scandurra
4848ea8e62
Spawn a background task to save repo snapshots
2023-07-28 13:08:33 +02:00
Antonio Scandurra
3349f2147a
Force all changes to a repository to take place via Repo::update
2023-07-28 12:45:51 +02:00
Antonio Scandurra
103d5293be
Start on loading RepoSnapshots
2023-07-28 12:34:23 +02:00
Antonio Scandurra
1046b60fd2
Avoid cycling dependency between Client and Checkout
2023-07-28 11:15:49 +02:00
Antonio Scandurra
d5932717f2
WIP
2023-07-27 19:41:56 +02:00
Antonio Scandurra
8eeaacdf0a
Pass a KvStore to Client and Server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-07-27 18:03:55 +02:00
Antonio Scandurra
2de48f96d2
Simplify KvStore trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-07-27 17:49:16 +02:00