protocol version 2
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest15 patches 21 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/15 | pkt-line: introduce packet_read_with_statuspkt-line.c pkt-line.h | +50 | 2 replies | |
| 2/15 | pkt-line: introduce struct packet_readerpkt-line.c pkt-line.h | +81 | 2 replies | |
| 3/15 | pkt-line: add delim packet supportpkt-line.c pkt-line.h | +21 | 2 replies | |
| 4/15 | upload-pack: convert to a builtinMakefile builtin.h git.c +1 more | +5 | 4 replies | |
| 5/15 | upload-pack: factor out processing linesupload-pack.c | +74 | 0 replies | |
| 6/15 | transport: use get_refs_via_connect to get refstransport.c | +4 | 2 replies | |
| 7/15 | connect: convert get_remote_heads to use struct packet_readerconnect.c | +70 | 2 replies | |
| 8/15 | connect: discover protocol version outside of get_remote_headsbuiltin/ builtin/ connect.c +4 more | +69 | 4 replies | |
| 9/15 | transport: store protocol versiontransport.c | +26 | 0 replies | |
| 10/15 | protocol: introduce enum protocol_version value protocol_v2builtin/ builtin/ builtin/ +6 more | +30 | 0 replies | |
| 11/15 | serve: introduce git-serve.gitignore Makefile builtin.h +4 more | +221 | 2 replies | |
| 12/15 | ls-refs: introduce ls-refs server commandMakefile ls-refs.c ls-refs.h +1 more | +114 | 1 reply | |
| 13/15 | connect: request remote refs using v2connect.c remote.h t/ +2 more | +117 | 0 replies | |
| 14/15 | upload_pack: introduce fetch server commandserve.c upload-pack.c upload-pack.h | +234 | 0 replies | |
| 15/15 | fetch-pack: perform a fetch using v2builtin/ fetch-pack.c fetch-pack.h +2 more | +270 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [WIP 00/15] protocol version 2
A while back I sent out a rough outline for what a protocol version 2 would look like at
https://public-inbox.org/git/[email protected]/. After hacking at both the server and client code I've managed to get some patches for protocol version 2 which implement listing refs and cloning/fetching working. I still need to get the push side of things working before this would be viable to accept and apply but I figured this was in a good enough state to start getting some early feedback on the concept. I'm hoping that some comments and other pairs of eyes can help me identify deficiencies earlier rather than later.
As a whole, fetch works fairly similar to the way it works in v1 except I removed the support for shallow clients for the time being in order to make it easier to implement at first. I haven't decided if it makes more sense to have the deepening as a separate server command or to keep it in fetch like it is in v1, just something to think about.
Any comments or criticism is welcome. Thanks!
Brandon Williams (15):
pkt-line: introduce packet_read_with_status
pkt-line: introduce struct packet_reader
pkt-line: add delim packet support
upload-pack: convert to a builtin
upload-pack: factor out processing lines
transport: use get_refs_via_connect to get refs
connect: convert get_remote_heads to use struct packet_reader
connect: discover protocol version outside of get_remote_heads
transport: store protocol version
protocol: introduce enum protocol_version value protocol_v2
serve: introduce git-serve
ls-refs: introduce ls-refs server command
connect: request remote refs using v2
upload_pack: introduce fetch server command
fetch-pack: perform a fetch using v2
.gitignore | 1 + Makefile | 6 +- builtin.h | 2 + builtin/fetch-pack.c | 19 ++- builtin/receive-pack.c | 3 + builtin/send-pack.c | 18 ++- builtin/serve.c | 25 ++++ connect.c | 210 +++++++++++++++++++++--------- connect.h | 3 + fetch-pack.c | 237 +++++++++++++++++++++++++++++++++- fetch-pack.h | 4 +- git.c | 2 + ls-refs.c | 96 ++++++++++++++ ls-refs.h | 9 ++ pkt-line.c | 133 +++++++++++++++++-- pkt-line.h | 31 +++++ protocol.c | 2 + protocol.h | 1 + remote-curl.c | 21 ++- remote.h | 7 +- serve.c | 195 ++++++++++++++++++++++++++++ serve.h | 6 + t/t5701-protocol-v2.sh | 54 ++++++++ transport.c | 84 ++++++++---- upload-pack.c | 342 +++++++++++++++++++++++++++++++++++++++++++------ upload-pack.h | 9 ++ 26 files changed, 1371 insertions(+), 149 deletions(-) create mode 100644 builtin/serve.c create mode 100644 ls-refs.c create mode 100644 ls-refs.h create mode 100644 serve.c create mode 100644 serve.h create mode 100755 t/t5701-protocol-v2.sh create mode 100644 upload-pack.h
Signature · 1 line
2.15.1.424.g9478a66081-goog