Expand description
Git smart-protocol façade that re-exports core traits, transport adapters, capability types, and helpers so embedders can speak Git over HTTP/SSH or custom transports with minimal plumbing.
Re-exports§
pub use core::AuthenticationService;pub use core::GitProtocol;pub use core::RepositoryAccess;pub use types::*;
Modules§
- core
- Core Git protocol implementation
- http
- HTTP transport adapter that wires request parsing and content negotiation onto the generic
GitProtocol, exposing helpers for info/refs, upload-pack, and receive-pack endpoints. - pack
- Transport-agnostic pack generator that reuses repository storage traits to walk commits, expand trees/blobs, and either stream packs to clients or unpack uploads for server-side ingestion.
- smart
- Implementation of the Git smart protocol state machine, handling capability negotiation, pkt exchanges, authentication delegation, and bridging repository storage to transport streams.
- ssh
- SSH transport adapter for the Git smart protocol. Wraps the shared
GitProtocolcore with helpers for authenticating connections, parsing SSH commands, and serving upload/receive-pack requests over interactive channels. - types
- Core enums and error types for the Git smart protocol: service identifiers, transport selection, capability negotiation, and the shared stream/error aliases used throughout the crate.
- utils
- Helper functions shared by the Git smart protocol handlers, including pkt-line parsing, pkt-line encoding, subsequence scans, and response builders that honor HTTP/SSH quirks.