pub trait LockedWorkingCopy {
// Required methods
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn old_operation_id(&self) -> &OperationId;
fn old_tree_id(&self) -> &MergedTreeId;
fn snapshot(
&mut self,
options: &SnapshotOptions<'_>,
) -> Result<(MergedTreeId, SnapshotStats), SnapshotError>;
fn check_out(
&mut self,
commit: &Commit,
options: &CheckoutOptions,
) -> Result<CheckoutStats, CheckoutError>;
fn rename_workspace(&mut self, new_workspace_name: WorkspaceNameBuf);
fn reset(&mut self, commit: &Commit) -> Result<(), ResetError>;
fn recover(&mut self, commit: &Commit) -> Result<(), ResetError>;
fn sparse_patterns(&self) -> Result<&[RepoPathBuf], WorkingCopyStateError>;
fn set_sparse_patterns(
&mut self,
new_sparse_patterns: Vec<RepoPathBuf>,
options: &CheckoutOptions,
) -> Result<CheckoutStats, CheckoutError>;
fn finish(
self: Box<Self>,
operation_id: OperationId,
) -> Result<Box<dyn WorkingCopy>, WorkingCopyStateError>;
}
Expand description
A working copy that’s being modified.
Required Methods§
Sourcefn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Should return self
. For down-casting purposes.
Sourcefn old_operation_id(&self) -> &OperationId
fn old_operation_id(&self) -> &OperationId
The operation at the time the lock was taken
Sourcefn old_tree_id(&self) -> &MergedTreeId
fn old_tree_id(&self) -> &MergedTreeId
The tree at the time the lock was taken
Sourcefn snapshot(
&mut self,
options: &SnapshotOptions<'_>,
) -> Result<(MergedTreeId, SnapshotStats), SnapshotError>
fn snapshot( &mut self, options: &SnapshotOptions<'_>, ) -> Result<(MergedTreeId, SnapshotStats), SnapshotError>
Snapshot the working copy. Returns the tree id and stats.
Sourcefn check_out(
&mut self,
commit: &Commit,
options: &CheckoutOptions,
) -> Result<CheckoutStats, CheckoutError>
fn check_out( &mut self, commit: &Commit, options: &CheckoutOptions, ) -> Result<CheckoutStats, CheckoutError>
Check out the specified commit in the working copy.
Sourcefn rename_workspace(&mut self, new_workspace_name: WorkspaceNameBuf)
fn rename_workspace(&mut self, new_workspace_name: WorkspaceNameBuf)
Update the workspace name.
Sourcefn reset(&mut self, commit: &Commit) -> Result<(), ResetError>
fn reset(&mut self, commit: &Commit) -> Result<(), ResetError>
Update to another commit without touching the files in the working copy.
Sourcefn recover(&mut self, commit: &Commit) -> Result<(), ResetError>
fn recover(&mut self, commit: &Commit) -> Result<(), ResetError>
Update to another commit without touching the files in the working copy, without assuming that the previous tree exists.
Sourcefn sparse_patterns(&self) -> Result<&[RepoPathBuf], WorkingCopyStateError>
fn sparse_patterns(&self) -> Result<&[RepoPathBuf], WorkingCopyStateError>
See WorkingCopy::sparse_patterns()
Sourcefn set_sparse_patterns(
&mut self,
new_sparse_patterns: Vec<RepoPathBuf>,
options: &CheckoutOptions,
) -> Result<CheckoutStats, CheckoutError>
fn set_sparse_patterns( &mut self, new_sparse_patterns: Vec<RepoPathBuf>, options: &CheckoutOptions, ) -> Result<CheckoutStats, CheckoutError>
Updates the patterns that decide which paths from the current tree should be checked out in the working copy.
Sourcefn finish(
self: Box<Self>,
operation_id: OperationId,
) -> Result<Box<dyn WorkingCopy>, WorkingCopyStateError>
fn finish( self: Box<Self>, operation_id: OperationId, ) -> Result<Box<dyn WorkingCopy>, WorkingCopyStateError>
Finish the modifications to the working copy by writing the updated states to disk. Returns the new (unlocked) working copy.