The smart transport knows how to speak the git protocol, but it has no
knowledge of how to establish a connection between it and another endpoint,
or how to move data back and forth. For this, a subtransport interface is
declared, and the smart transport delegates this work to the subtransports.
Three subtransports are provided by libgit2: ssh, git, http(s).
Subtransports can either be RPC = 0 (persistent connection) or RPC = 1
(request/response). The smart transport handles the differences in its own
logic. The git subtransport is RPC = 0, while http is RPC = 1.
Definition for a "subtransport"
The smart transport knows how to speak the git protocol, but it has no knowledge of how to establish a connection between it and another endpoint, or how to move data back and forth. For this, a subtransport interface is declared, and the smart transport delegates this work to the subtransports.
Three subtransports are provided by libgit2: ssh, git, http(s).
Subtransports can either be RPC = 0 (persistent connection) or RPC = 1 (request/response). The smart transport handles the differences in its own logic. The git subtransport is RPC = 0, while http is RPC = 1.