pub struct ResolvedWorkspace {
pub name: String,
pub roots: Vec<String>,
pub repos: Vec<String>,
pub linked: bool,
pub include_worktrees: bool,
}Expand description
A workspace group after config normalisation (crate::WorkspaceSet input): a
name, its member roots/repos (unexpanded — discovered when the set is
built), and whether its repos are cross-linked (served as one multi-repo
graph) or standalone (each its own single-repo graph, no cross-repo links).
A linked = false (standalone) group denotes exactly one single-repo graph:
the config normaliser emits one such group per discovered repo, and
WorkspaceSet::from_resolved upholds the invariant by materialising a
standalone group as a one-repo Workspace per member — a standalone group can
never collapse several repos into one unlinked multi-repo graph.
Fields§
§name: StringThe workspace name (the --workspace-name selector).
roots: Vec<String>Directories to scan for member repos (as [workspace] roots).
repos: Vec<String>Explicit member repo paths, in addition to anything under roots.
linked: booltrue ⇒ the repos form one linked graph; false ⇒ standalone: each
member repo is its own single-repo graph (no cross-repo links).
include_worktrees: booltrue ⇒ this group’s roots host the linked git worktrees they find
(include_worktrees = true); false (the default) ⇒ they are walked past
and reported. Governs roots only: repos entries are named, not
discovered, and are hosted either way (issue #837).
A property of the group rather than a process-wide switch, because
roots is: one workspace may deliberately scan a pool of worktrees an
orchestrator maintains while another must not, and a single global answer
would force both. It is also why this composes with --scope instead of
competing with it — --scope chooses which groups are served, and a chosen
group brings its own discovery rule with it, so the two never have to be
reconciled.
Trait Implementations§
Source§impl Clone for ResolvedWorkspace
impl Clone for ResolvedWorkspace
Source§impl Debug for ResolvedWorkspace
impl Debug for ResolvedWorkspace
impl Eq for ResolvedWorkspace
Source§impl PartialEq for ResolvedWorkspace
impl PartialEq for ResolvedWorkspace
impl StructuralPartialEq for ResolvedWorkspace
Auto Trait Implementations§
impl Freeze for ResolvedWorkspace
impl RefUnwindSafe for ResolvedWorkspace
impl Send for ResolvedWorkspace
impl Sync for ResolvedWorkspace
impl Unpin for ResolvedWorkspace
impl UnsafeUnpin for ResolvedWorkspace
impl UnwindSafe for ResolvedWorkspace
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.