Conversation
3 tasks
7b5e419 to
c14f599
Compare
28e1af1 to
0af09bd
Compare
0af09bd to
de952d7
Compare
aabc594 to
932e0ff
Compare
258064e to
6f4d4ac
Compare
54d4d21 to
a6c72a3
Compare
abdb970 to
9b4a76e
Compare
bf48d60 to
3297edd
Compare
1 task
f4e6821 to
4966a7b
Compare
f4822cc to
2233f12
Compare
0b397a9 to
cb0e671
Compare
2233f12 to
e9445c8
Compare
aryairani
approved these changes
Jan 16, 2026
We now send the hashes and the server can tell us what it's missing.
cb0e671 to
ef5feec
Compare
5e30572 to
9aab7f7
Compare
Member
Author
|
It looks like this was merged red, but it was merged as part of a later branch that made it green ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
pushprocessImplementation approach and notes
Interesting/controversial decisions
The algorithm here is pretty naive, the "correct" way to sync something like this is to make comments part of the main causal merkle-tree (and affect hashing); but a redo of code hashing is out-of-scope;
There are smarter ways to do this sync even without integrating comments into the history;
one particular option would be to tag each branch with not just its causal root, but also the root of a Merkle Search Tree which contains all the comments it knows about which are reachable from that causal root. MSTs are a useful data type for efficiently doing unions of arbitrary sets across distributed clients like this.
Since most cases are likely to be small here, we'll ship with this simple version in the hopes it lasts us for a while, and we can integrate the more complex and efficient version later.
Comment sync is quite likely to be dwarfed by code-sync in the majority of cases.
Test coverage