serve: introduce git-serve
commited10cb952d315ae47d2f7f6f29333a9ee227bf6b
authorBrandon Williams <bmwill@google.com>
Thu, 15 Mar 2018 17:31:19 +0000 (15 10:31 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Mar 2018 19:01:08 +0000 (15 12:01 -0700)
treea43a1a343f94885533ba29358aab9c673aa95e29
parent74e70029615ead3e7203fed715abf0dc31bcb211
serve: introduce git-serve

Introduce git-serve, the base server for protocol version 2.

Protocol version 2 is intended to be a replacement for Git's current
wire protocol.  The intention is that it will be a simpler, less
wasteful protocol which can evolve over time.

Protocol version 2 improves upon version 1 by eliminating the initial
ref advertisement.  In its place a server will export a list of
capabilities and commands which it supports in a capability
advertisement.  A client can then request that a particular command be
executed by providing a number of capabilities and command specific
parameters.  At the completion of a command, a client can request that
another command be executed or can terminate the connection by sending a
flush packet.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
.gitignore
Documentation/Makefile
Documentation/technical/protocol-v2.txt [new file with mode: 0644]
Makefile
builtin.h
builtin/serve.c [new file with mode: 0644]
git.c
serve.c [new file with mode: 0644]
serve.h [new file with mode: 0644]
t/t5701-git-serve.sh [new file with mode: 0755]