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