pub struct WorktreeManager { /* private fields */ }Expand description
Manages git worktrees for sub-agent isolation
Implementations§
Source§impl WorktreeManager
impl WorktreeManager
Sourcepub fn create(&self, task_slug: &str) -> Result<WorktreeInfo>
pub fn create(&self, task_slug: &str) -> Result<WorktreeInfo>
Create a new worktree for a sub-agent
Sourcepub fn inject_workspace_stub(&self, worktree_path: &Path) -> Result<()>
pub fn inject_workspace_stub(&self, worktree_path: &Path) -> Result<()>
Inject a [workspace] stub into the worktree’s Cargo.toml to make it hermetically sealed
This prevents Cargo from treating the worktree as part of the parent workspace, which would cause “current package believes it’s in a workspace when it’s not” errors.
Sourcepub fn merge(&self, worktree: &WorktreeInfo) -> Result<MergeResult>
pub fn merge(&self, worktree: &WorktreeInfo) -> Result<MergeResult>
Merge a worktree’s changes back to the parent branch
Sourcepub fn complete_merge(
&self,
worktree: &WorktreeInfo,
commit_message: &str,
) -> Result<MergeResult>
pub fn complete_merge( &self, worktree: &WorktreeInfo, commit_message: &str, ) -> Result<MergeResult>
Complete a merge after conflicts have been resolved
Sourcepub fn abort_merge(&self) -> Result<()>
pub fn abort_merge(&self) -> Result<()>
Abort a merge in progress
Sourcepub fn is_merging(&self) -> bool
pub fn is_merging(&self) -> bool
Check if there’s a merge in progress
Sourcepub fn cleanup(&self, worktree: &WorktreeInfo) -> Result<()>
pub fn cleanup(&self, worktree: &WorktreeInfo) -> Result<()>
Clean up a worktree after use
Sourcepub fn list(&self) -> Result<Vec<WorktreeInfo>>
pub fn list(&self) -> Result<Vec<WorktreeInfo>>
List all active worktrees
Sourcepub fn cleanup_all(&self) -> Result<usize>
pub fn cleanup_all(&self) -> Result<usize>
Clean up all orphaned worktrees
Sourcepub fn cleanup_orphaned_branches(&self) -> Result<usize>
pub fn cleanup_orphaned_branches(&self) -> Result<usize>
Clean up orphaned subagent branches (branches with no corresponding worktree)
Auto Trait Implementations§
impl Freeze for WorktreeManager
impl RefUnwindSafe for WorktreeManager
impl Send for WorktreeManager
impl Sync for WorktreeManager
impl Unpin 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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more