-
Notifications
You must be signed in to change notification settings - Fork 0
Git Configuration
Anthony Bible edited this page Aug 25, 2025
·
1 revision
The git section controls how repositories are cloned and managed. It is optional — sensible defaults are used if omitted.
Defaults (from code)
-
default_depth: 1 -
shallow_clone_threshold_mb: 100 -
default_timeout: 30m -
max_concurrent_clones: 3 -
retry_attempts: 2 -
retry_backoff_duration: 5s -
enable_progress_tracking: true -
enable_performance_monitoring: true -
auto_select_strategy: true -
workspace_cleanup_enabled: true -
workspace_cleanup_interval: 24h
Keys
-
git.default_depth(int): Depth for shallow clones -
git.shallow_clone_threshold_mb(int): Use shallow clone above this repo size (MB) -
git.default_timeout(duration): Base timeout for clone operations -
git.max_concurrent_clones(int): Parallel clone limit (must be > 0) -
git.retry_attempts(int): Retry count for clone operations (≥ 0) -
git.retry_backoff_duration(duration): Delay between retries (≥ 0) -
git.enable_progress_tracking(bool): Emit progress updates -
git.enable_performance_monitoring(bool): Enable performance metrics -
git.auto_select_strategy(bool): If true, use threshold to pick shallow vs full -
git.workspace_cleanup_enabled(bool): Enable workspace cleanup -
git.workspace_cleanup_interval(duration): Cleanup interval (> 0)
Behavior
- Shallow clone decision: if
auto_select_strategyis true, shallow clone whenrepositoryMB > shallow_clone_threshold_mb. If false, always shallow clone. - Clone timeout scales with repository size:
timeout = default_timeout * max(1, repoMB / thresholdMB), capped at 180m. - Retry configuration exposed via
MaxAttempts,BackoffDuration,BackoffMultiplier=2.0.
Validation
-
default_timeoutmust be > 0 -
max_concurrent_clonesmust be > 0 -
retry_attempts≥ 0 -
retry_backoff_duration≥ 0 -
workspace_cleanup_interval> 0 - Negative values for depths/threshold are invalid
Example (YAML)
git:
shallow_clone_threshold_mb: 200
default_depth: 2
default_timeout: 45m
max_concurrent_clones: 5
retry_attempts: 3
retry_backoff_duration: 10s
enable_progress_tracking: true
enable_performance_monitoring: true
auto_select_strategy: true
workspace_cleanup_enabled: true
workspace_cleanup_interval: 12hNotes
- This section is read via Viper key
git. If absent, the defaults above apply.
See also
- Configuration
- Worker Configuration (workers may coordinate clone jobs)
Source files
- internal/config/git_config.go (GitConfig, defaults, behavior, validation)
Configuration
- [📖 Configuration Reference](configuration reference) - Complete reference guide
- Configuration
- API Configuration
- Database Configuration
- Gemini Configuration
- Git Configuration
- Logging Configuration
- Middleware Configuration
- NATS Configuration
- Worker Configuration