Smart fetch and push over HTTP: server side
authorShawn O. Pearce <spearce@spearce.org>
Sat, 31 Oct 2009 00:47:34 +0000 (17:47 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Nov 2009 01:58:15 +0000 (17:58 -0800)
commit556cfa3b6d316074d41cd73c4659402fdb6207c8
tree70de4c0f563493dc05f2f53b3af554657f99f9eb
parent42526b478e369d7e8c9a95186ad87fae9930eea5
Smart fetch and push over HTTP: server side

Requests for $GIT_URL/git-receive-pack and $GIT_URL/git-upload-pack
are forwarded to the corresponding backend process by directly
executing it and leaving stdin and stdout connected to the invoking
web server.  Prior to starting the backend process the HTTP response
headers are sent, thereby freeing the backend from needing to know
about the HTTP protocol.

Requests that are encoded with Content-Encoding: gzip are
automatically inflated before being streamed into the backend.
This is primarily useful for the git-upload-pack backend, which
receives highly repetitive text data from clients that easily
compresses to 50% of its original size.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-http-backend.txt
http-backend.c