Git uses send-pack
and fetch-pack
for transferring data over
the smart protocol,. These
plumbing commands are a bit too smart for their own good, in the
sense that they always try to run their peer commands
(receive-pack
and upload-pack
respectively), either on the
local host or over ssh to the remote host (for file://
and