pub enum Workspace {
Shared,
PerItinerary,
}Expand description
How an itinerary’s workspace relates to other itineraries’.
A pipeline that can have several instances in flight — one per pull request, say — needs each
to work somewhere of its own, or two read-write agents in two unrelated itineraries will
clobber each other in the shared directory.
Variants§
Every itinerary works in the one shared work_dir.
The default, because it is what a single-instance pipeline wants and because a worktree per itinerary costs disk and setup time.
PerItinerary
Each itinerary gets its own git worktree, named after the itinerary.
This is what makes several instances of one pipeline safe to run at once.
Implementations§
Trait Implementations§
impl Copy for Workspace
Source§impl<'de> Deserialize<'de> for Workspace
impl<'de> Deserialize<'de> for Workspace
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Workspace
impl StructuralPartialEq for Workspace
Auto Trait Implementations§
impl Freeze for Workspace
impl RefUnwindSafe for Workspace
impl Send for Workspace
impl Sync for Workspace
impl Unpin for Workspace
impl UnsafeUnpin for Workspace
impl UnwindSafe for Workspace
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