Skip to main content

run

Function run 

Source
pub async fn run<R, W>(
    remote: RemoteUrl,
    store: Arc<dyn ObjectStore>,
    engine: StorageEngine,
    reader: R,
    writer: W,
    reload: Option<ReloadHandle>,
    repo_dir: PathBuf,
) -> Result<(), ProtocolError>
Expand description

Run the helper REPL until stdin closes (clean exit) or the writer breaks (BrokenPipe — also a clean exit).

repo_dir is the local repository the helper is operating against; the parallel fetch path uses it as the cwd for git bundle unbundle.

§Errors

Returns ProtocolError::Io on transport failure, ProtocolError::InvalidCommand for an unrecognised command, and ProtocolError::List / ProtocolError::Fetch / ProtocolError::Push for backend errors in the respective operations.

engine is the resolved engine returned by backend::build. Threading it through the call chain (rather than re-reading FORMAT here) avoids a duplicate round trip per helper invocation.