pub struct VcsAgentConfig {
pub git_mode: String,
pub p4_mode: String,
pub init_baseline_commit: bool,
pub ceiling_always: bool,
}Expand description
VCS environment isolation configuration for spawned agents (v0.13.17.3).
Controls how TA configures the agent’s VCS environment so it operates on the staging directory instead of the developer’s real repository.
[vcs.agent]
git_mode = "isolated" # "isolated" | "inherit-read" | "none"
p4_mode = "shelve" # "shelve" | "read-only" | "inherit"
init_baseline_commit = true
ceiling_always = trueFields§
§git_mode: StringGit isolation mode.
"isolated"(default):git initin staging with a baseline commit. Agent gets its own isolated.git.GIT_CEILING_DIRECTORIESblocks upward traversal into the developer’s real repo."inherit-read": SetsGIT_CEILING_DIRECTORIESonly. Agent can read parent git history (log, blame) but write operations are scoped away."none": SetsGIT_DIR=/dev/null. All git operations fail immediately.
p4_mode: StringPerforce isolation mode.
"shelve"(default): Agent uses a dedicated staging P4 workspace. Submit is blocked; shelve is allowed."read-only": InjectsP4CLIENT=(empty). No P4 writes possible."inherit": Agent inherits the developer’s P4CLIENT. Only for workflows that explicitly need live P4 access.
init_baseline_commit: boolWhether to create an initial “pre-agent” baseline commit in isolated git mode.
When true (default), git init + git add -A + git commit -m "pre-agent baseline"
runs before the agent starts. The agent can then use git diff, git log, etc.
against a clean history.
ceiling_always: boolWhether to always set GIT_CEILING_DIRECTORIES regardless of mode.
When true (default), GIT_CEILING_DIRECTORIES is set to the staging dir’s
parent even in inherit-read and isolated modes, preventing git from
traversing into parent directories beyond the ceiling.
Trait Implementations§
Source§impl Clone for VcsAgentConfig
impl Clone for VcsAgentConfig
Source§fn clone(&self) -> VcsAgentConfig
fn clone(&self) -> VcsAgentConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more