pub struct WorkspaceConfig {Show 13 fields
pub root_path: PathBuf,
pub provider: WorkspaceProvider,
pub username: String,
pub orgs: Vec<String>,
pub include_repos: Vec<String>,
pub exclude_repos: Vec<String>,
pub structure: Option<String>,
pub sync_mode: Option<SyncMode>,
pub clone_options: Option<ConfigCloneOptions>,
pub filters: FilterOptions,
pub concurrency: Option<usize>,
pub refresh_interval: Option<u64>,
pub last_synced: Option<String>,
}Expand description
Configuration for a single workspace (sync target folder).
Stored at <root>/.git-same/config.toml. The root_path field is not
serialized — it is populated at load time from the .git-same/ parent.
Fields§
§root_path: PathBufAbsolute path to the workspace root (parent of .git-same/).
Not stored in config.toml — derived from the file’s location at load time.
provider: WorkspaceProviderProvider configuration for this workspace.
username: StringThe authenticated username (discovered during setup).
orgs: Vec<String>Selected organizations to sync (empty = all).
include_repos: Vec<String>Specific repos to include (empty = all from selected orgs).
exclude_repos: Vec<String>Repos to exclude by full name (e.g., “org/repo”).
structure: Option<String>Directory structure pattern override (None = use global default).
sync_mode: Option<SyncMode>Sync mode override (None = use global default).
clone_options: Option<ConfigCloneOptions>Clone options override (None = use global default).
filters: FilterOptionsFilter options.
concurrency: Option<usize>Concurrency override (None = use global default).
refresh_interval: Option<u64>Dashboard auto-refresh interval override in seconds (None = use global default).
last_synced: Option<String>ISO 8601 timestamp of last sync.
Implementations§
Source§impl WorkspaceConfig
impl WorkspaceConfig
Sourcepub fn new_from_root(root: &Path) -> Self
pub fn new_from_root(root: &Path) -> Self
Create a new workspace config for the given root directory.
Sourcepub fn expanded_base_path(&self) -> PathBuf
pub fn expanded_base_path(&self) -> PathBuf
Returns the workspace root path (equivalent of old expanded_base_path()).
Sourcepub fn display_label(&self) -> String
pub fn display_label(&self) -> String
Returns a user-friendly label: "~/repos (GitHub)".
Trait Implementations§
Source§impl Clone for WorkspaceConfig
impl Clone for WorkspaceConfig
Source§fn clone(&self) -> WorkspaceConfig
fn clone(&self) -> WorkspaceConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WorkspaceConfig
impl Debug for WorkspaceConfig
Source§impl<'de> Deserialize<'de> for WorkspaceConfig
impl<'de> Deserialize<'de> for WorkspaceConfig
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>,
Auto Trait Implementations§
impl Freeze for WorkspaceConfig
impl RefUnwindSafe for WorkspaceConfig
impl Send for WorkspaceConfig
impl Sync for WorkspaceConfig
impl Unpin for WorkspaceConfig
impl UnsafeUnpin for WorkspaceConfig
impl UnwindSafe for WorkspaceConfig
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<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 more