Expand description
External VCS adapter — SourceAdapter implementation over JSON-over-stdio.
Wraps an external VCS plugin process and implements the SourceAdapter
trait by translating every method call into a single JSON-over-stdio
request/response exchange.
§Lifecycle
For each method call, ExternalVcsAdapter:
- Spawns the plugin process (fresh per call — plugins are stateless).
- Sends a
VcsPluginRequestJSON line to the process’s stdin. - Reads the
VcsPluginResponseJSON line from stdout. - Waits for the process to exit.
- Returns the parsed result or a
SubmitErroron failure.
§Handshake
The first call in ExternalVcsAdapter::new() performs a handshake to
validate protocol compatibility. An incompatible protocol version causes
construction to fail with SubmitError::ConfigError.
Structs§
- External
VcsAdapter - SourceAdapter that delegates all operations to an external plugin process.