"Git supports 4 network protocols to transfer data: SSH, Local,
Git, and HTTP(S). Many people are behind a firewall, which most of
times permit access only to HTTP(S). Until recently, Git HTTP(S)
was working only for read actions (only clone, fetch, pull, ?).
Almost 2 years ago Smart HTTP Transport came up. Using these clever
cgi scripts, which now are part of stable Git, we can easily setup
a Git server that supports read/write via HTTP(S).