Trait jj_lib::working_copy::LockedWorkingCopy
source · 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, SnapshotError>;
fn check_out(
&mut self,
commit: &Commit,
) -> Result<CheckoutStats, CheckoutError>;
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>,
) -> 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, SnapshotError>
fn snapshot( &mut self, options: SnapshotOptions<'_>, ) -> Result<MergedTreeId, SnapshotError>
Snapshot the working copy and return the tree id.
sourcefn check_out(&mut self, commit: &Commit) -> Result<CheckoutStats, CheckoutError>
fn check_out(&mut self, commit: &Commit) -> Result<CheckoutStats, CheckoutError>
Check out the specified commit in the working copy.
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>,
) -> Result<CheckoutStats, CheckoutError>
fn set_sparse_patterns( &mut self, new_sparse_patterns: Vec<RepoPathBuf>, ) -> 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.