Expand description
Git remote-helper protocol REPL and command dispatcher.
run is generic over its reader and writer so tests can drive it
through tokio::io::duplex.
Stdout is the wire protocol — see .claude/rules/protocol-stdout.md.
Diagnostics use tracing (configured to write to stderr by
tracing_init::init); the only stdout writes happen via the
per-command handlers below.
Modules§
- backend
- Backend factory: turns a parsed
RemoteUrlinto anArc<dyn ObjectStore>for the protocol REPL to drive. - fetch
- Parallel
fetchhandler. - push
pushhandler with per-ref locking via conditional writes.- tracing_
init - Stderr-only
tracingsubscriber for the helper-protocol binaries.
Enums§
- Protocol
Error - Errors surfaced by the REPL loop.
Functions§
- run
- Run the helper REPL until stdin closes (clean exit) or the writer
breaks (
BrokenPipe— also a clean exit).