Module protocol

Module protocol 

Source
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 GitProtocol core 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.