Conversation
| } | ||
|
|
||
| message ReconcileOpHeadsResponse { | ||
| bytes op_head = 1; |
There was a problem hiding this comment.
I think it is much better to have types for the main entities, for example:
message OperationId {
bytes id_bytes = 1;
}
Similarly, some sort of type representing a repo id.
There was a problem hiding this comment.
Introducing the wrapper message types may require lots of small but tedious changes, and you don't have much time left in your internship, so feel free to leave TODOs for now if you want.
There was a problem hiding this comment.
Adding types for these requires a bigger rewrite across the client as well as the server...
Requires Returning Some(OperationId { id_bytes }) in responses (ReconcileOpHeadsResponse, WriteOperationResponse, etc.) on the server side and modifying the client to package it with that type on RPC requests.
This is definitely cleaner to do in a standalone PR, so I've added TODOS at the top of op_store.proto and backend.proto to make this a clear TODO
| } | ||
|
|
||
| message ReconcileOpHeadsResponse { | ||
| bytes op_head = 1; |
There was a problem hiding this comment.
Introducing the wrapper message types may require lots of small but tedious changes, and you don't have much time left in your internship, so feel free to leave TODOs for now if you want.
server: add server-side handler for op head reconciliation request This handler is called when the client wants to reconcile op heads (used on most jj cli function calls). It queries the storage layer, and if there is only 1 op head for the repo, returns. If there are more, it will call the server-side internal reconciliation function, which is left for the following commits.
c901932 to
d8dad16
Compare
proto: add RPCs for op head reconciliation
server: add server-side handler for op head reconciliation request
This handler is called when the client wants to reconcile op heads (used on most jj cli function calls). It queries the storage layer, and if there is only 1 op head for the repo, returns. If there are more, it will call the server-side internal reconciliation function, which is left for the following commits.