#[non_exhaustive]pub enum GitFilesystemAction {
Show 14 variants
CaptureCommit {
workspace_tree: GitTreeRef,
head_tree: Option<GitTreeRef>,
head_workspace_tree: Box<Option<GitTreeRef>>,
tracked_paths: BTreeSet<String>,
message: String,
author: String,
authored_at_seconds: i64,
expected_head: Option<GitCommitId>,
},
ForkBranch {
branch: String,
source_tree: GitTreeRef,
head: Option<GitCommitId>,
switch: bool,
},
SwitchWorkspace {
workspace_id: WorkspaceId,
},
Diff {
from: Option<GitTreeRef>,
to: GitTreeRef,
tracked_paths: BTreeSet<String>,
},
RestoreGeneration {
tree: GitTreeRef,
paths: Option<BTreeSet<String>>,
},
RestorePaths {
tree: GitTreeRef,
paths: Vec<String>,
},
Join {
target_tree: GitTreeRef,
source_workspace: WorkspaceId,
rebase: bool,
tracked_paths: BTreeSet<String>,
},
ApplyCommit {
commit: GitCommitId,
reverse: bool,
base: Option<GitTreeRef>,
source: Option<GitTreeRef>,
paths: BTreeSet<String>,
tracked_paths: BTreeSet<String>,
},
Blame {
path: String,
commits: Vec<GitCommit>,
},
Grep {
pattern: String,
path: Option<String>,
tree: GitTreeRef,
},
Clean {
dry_run: bool,
tree: GitTreeRef,
tracked_paths: BTreeSet<String>,
},
Archive {
tree: GitTreeRef,
},
ApplyPatch {
patch: Vec<u8>,
},
CheckIgnore {
paths: Vec<String>,
tree: GitTreeRef,
},
}Expand description
Filesystem work emitted by the compatibility state machine.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CaptureCommit
Capture a compatibility-eligible generation before recording a commit.
Fields
workspace_tree: GitTreeRefComplete live workspace tree.
head_tree: Option<GitTreeRef>Previous filtered compatibility tree, if HEAD exists.
head_workspace_tree: Box<Option<GitTreeRef>>Previous complete live tree, if recorded by HEAD.
Author retained until capture completes.
Signed Unix epoch timestamp retained until capture completes.
expected_head: Option<GitCommitId>Exact HEAD that must still be current at completion.
ForkBranch
Fork a dedicated SDK workspace for a compatibility branch.
Fields
source_tree: GitTreeRefTree from which to fork the branch workspace.
head: Option<GitCommitId>Compatibility head inherited by the new branch.
SwitchWorkspace
Select an existing branch’s live SDK workspace.
Fields
workspace_id: WorkspaceIdWorkspace that owns the destination branch’s working copy.
Diff
Compute a semantic diff between exact generations.
Fields
from: Option<GitTreeRef>Explicit compatibility HEAD, or no baseline for an unborn branch.
to: GitTreeRefLive workspace generation.
RestoreGeneration
Move the live workspace to an exact generation.
Fields
tree: GitTreeRefTree to install.
RestorePaths
Restore selected paths from an exact generation.
Join
Join a source workspace into the current workspace.
Fields
target_tree: GitTreeRefExact target working tree captured before the join began.
source_workspace: WorkspaceIdWorkspace owning the source branch.
ApplyCommit
Apply one commit relative to its first parent.
Fields
commit: GitCommitIdExplicit compatibility commit.
base: Option<GitTreeRef>Exact earlier tree, or the empty compatibility tree.
source: Option<GitTreeRef>Exact later tree, or the empty compatibility tree.
Blame
Attribute a path across explicit commit history.
Fields
Grep
Search the live tree.
Fields
tree: GitTreeRefExact live tree to search.
Clean
Discover and optionally remove untracked paths.
Fields
tree: GitTreeRefExact live tree to inspect before any deletion.
Archive
Export one exact generation.
Fields
tree: GitTreeRefTree to export.
ApplyPatch
Parse and apply a patch.
CheckIgnore
Test paths against the ignore policy in one exact live tree.
Fields
tree: GitTreeRefExact live tree containing .gitignore files.
Trait Implementations§
Source§impl Clone for GitFilesystemAction
impl Clone for GitFilesystemAction
Source§impl Debug for GitFilesystemAction
impl Debug for GitFilesystemAction
Source§impl<'de> Deserialize<'de> for GitFilesystemAction
impl<'de> Deserialize<'de> for GitFilesystemAction
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>,
impl Eq for GitFilesystemAction
Source§impl PartialEq for GitFilesystemAction
impl PartialEq for GitFilesystemAction
Source§impl Serialize for GitFilesystemAction
impl Serialize for GitFilesystemAction
impl StructuralPartialEq for GitFilesystemAction
Auto Trait Implementations§
impl Freeze for GitFilesystemAction
impl RefUnwindSafe for GitFilesystemAction
impl Send for GitFilesystemAction
impl Sync for GitFilesystemAction
impl Unpin for GitFilesystemAction
impl UnsafeUnpin for GitFilesystemAction
impl UnwindSafe for GitFilesystemAction
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request