pub struct WorktreeManager { /* private fields */ }Expand description
Worktree manager for creating and managing isolated git worktrees
Implementations§
Source§impl WorktreeManager
impl WorktreeManager
Sourcepub fn with_repo(
base_dir: impl Into<PathBuf>,
repo_path: impl Into<PathBuf>,
) -> Self
pub fn with_repo( base_dir: impl Into<PathBuf>, repo_path: impl Into<PathBuf>, ) -> Self
Create a worktree manager with explicit repo path
Sourcepub async fn create(&self, name: &str) -> Result<WorktreeInfo>
pub async fn create(&self, name: &str) -> Result<WorktreeInfo>
Create a new worktree for a task
This creates an actual git worktree using git worktree add,
creating a new branch if it doesn’t exist.
Sourcepub async fn ensure_repo_integrity(&self) -> Result<()>
pub async fn ensure_repo_integrity(&self) -> Result<()>
Verify repository object integrity before worktree operations.
If corruption is detected, a best-effort repair is attempted automatically.
Sourcepub async fn get(&self, name: &str) -> Option<WorktreeInfo>
pub async fn get(&self, name: &str) -> Option<WorktreeInfo>
Get information about a worktree
Sourcepub async fn list(&self) -> Vec<WorktreeInfo>
pub async fn list(&self) -> Vec<WorktreeInfo>
List all worktrees
Sourcepub async fn merge(&self, name: &str) -> Result<MergeResult>
pub async fn merge(&self, name: &str) -> Result<MergeResult>
Merge a worktree branch back into the current branch
This performs an actual git merge operation and handles conflicts.
Sourcepub async fn complete_merge(
&self,
name: &str,
commit_msg: &str,
) -> Result<MergeResult>
pub async fn complete_merge( &self, name: &str, commit_msg: &str, ) -> Result<MergeResult>
Complete a merge after conflicts are resolved
This commits the merge after the user has resolved conflicts.
Sourcepub async fn abort_merge(&self, name: &str) -> Result<()>
pub async fn abort_merge(&self, name: &str) -> Result<()>
Abort an in-progress merge
Sourcepub async fn cleanup_all(&self) -> Result<usize>
pub async fn cleanup_all(&self) -> Result<usize>
Clean up all worktrees
Sourcepub fn inject_workspace_stub(&self, _worktree_path: &Path) -> Result<()>
pub fn inject_workspace_stub(&self, _worktree_path: &Path) -> Result<()>
Inject workspace stub for Cargo workspace isolation
Trait Implementations§
Source§impl Debug for WorktreeManager
impl Debug for WorktreeManager
Auto Trait Implementations§
impl !Freeze for WorktreeManager
impl !RefUnwindSafe for WorktreeManager
impl Send for WorktreeManager
impl Sync for WorktreeManager
impl Unpin for WorktreeManager
impl UnsafeUnpin for WorktreeManager
impl !UnwindSafe for WorktreeManager
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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