pub enum OpPayload {
Create {
epoch: EpochId,
},
Destroy,
Snapshot {
patch_set_oid: GitOid,
},
Merge {
sources: Vec<WorkspaceId>,
epoch_before: EpochId,
epoch_after: EpochId,
},
Compensate {
target_op: GitOid,
reason: String,
},
Describe {
message: String,
},
Annotate {
key: String,
data: BTreeMap<String, Value>,
},
}Expand description
The kind of mutation recorded by an Operation (§5.3).
Each variant captures the minimal data needed to replay or undo the
operation. Serialized with a "type" tag for canonical JSON:
{"type":"create","epoch":"…"} etc.
Variants§
Create
Workspace was created, anchored to a base epoch.
Destroy
Workspace was destroyed.
Snapshot
Working directory was snapshotted — records the files that changed relative to the base epoch as a patch-set blob.
Merge
One or more workspaces were merged into a new epoch.
Fields
§
sources: Vec<WorkspaceId>Source workspace IDs that were merged.
Compensate
A compensation (undo) operation that reverses a prior operation.
Fields
Describe
The workspace description was updated (human-readable label).
Annotate
An arbitrary annotation attached to the op log (e.g., validation result, review status, CI outcome).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for OpPayload
impl<'de> Deserialize<'de> for OpPayload
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for OpPayload
impl StructuralPartialEq for OpPayload
Auto Trait Implementations§
impl Freeze for OpPayload
impl RefUnwindSafe for OpPayload
impl Send for OpPayload
impl Sync for OpPayload
impl Unpin for OpPayload
impl UnsafeUnpin for OpPayload
impl UnwindSafe for OpPayload
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.