Skip to content

protocol version 2

Brandon Williams git 6 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest35 patches 5 repliesIn review
  2. v535 patches 5 repliesSuperseded
  3. v435 patches 47 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v335 patches124 repliesSuperseded
v227 patches20 repliesSuperseded
v126 patches44 repliesSuperseded

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/35pkt-line: introduce packet_read_with_statuspkt-line.c pkt-line.h+53 -140 replies
2/35pkt-line: allow peeking a packet line without consuming itpkt-line.c pkt-line.h+108 -00 replies
3/35pkt-line: add delim packet supportpkt-line.c pkt-line.h+19 -00 replies
4/35upload-pack: convert to a builtinMakefile builtin.h builtin/upload-pack.c +3 more+109 -830 replies
5/35upload-pack: factor out processing linesupload-pack.c+74 -390 replies
6/35transport: use get_refs_via_connect to get refstransport.c+4 -140 replies
7/35connect: convert get_remote_heads to use struct packet_readerconnect.c+95 -785 replies
8/35connect: discover protocol version outside of get_remote_headsbuiltin/fetch-pack.c builtin/send-pack.c connect.c +4 more+83 -290 replies
9/35transport: store protocol versiontransport.c+26 -90 replies
10/35protocol: introduce enum protocol_version value protocol_v2builtin/fetch-pack.c builtin/receive-pack.c builtin/send-pack.c +6 more+36 -00 replies
11/35test-pkt-line: introduce a packet-line test helperMakefile t/helper/test-pkt-line.c+65 -00 replies
12/35serve: introduce git-serve.gitignore Documentation/Makefile Documentation/technical/protocol-v2.txt +7 more+528 -00 replies
13/35ls-refs: introduce ls-refs server commandDocumentation/technical/protocol-v2.txt Makefile ls-refs.c +3 more+261 -00 replies
14/35connect: request remote refs using v2builtin/upload-pack.c connect.c connect.h +3 more+204 -110 replies
15/35transport: convert get_refs_list to take a list of ref prefixestransport-helper.c transport-internal.h transport.c+24 -100 replies
16/35transport: convert transport_get_remote_refs to take a list of ref prefixesbuiltin/clone.c builtin/fetch.c builtin/ls-remote.c +3 more+21 -80 replies
17/35ls-remote: pass ref prefixes when requesting a remote's refsbuiltin/ls-remote.c refs.c refs.h +1 more+60 -20 replies
18/35fetch: pass ref prefixes when fetchingbuiltin/fetch.c+18 -10 replies
19/35push: pass ref prefixes when pushingtransport.c+28 -10 replies
20/35upload-pack: introduce fetch server commandDocumentation/technical/protocol-v2.txt serve.c t/t5701-git-serve.sh +2 more+400 -00 replies
21/35fetch-pack: perform a fetch using v2Documentation/technical/protocol-v2.txt builtin/fetch-pack.c fetch-pack.c +7 more+548 -480 replies
22/35fetch-pack: support shallow requestsDocumentation/technical/protocol-v2.txt connect.c connect.h +1 more+105 -80 replies
23/35connect: refactor git_connect to only get the protocol version onceconnect.c+15 -120 replies
24/35connect: don't request v2 when pushingconnect.c t/t5702-protocol-v2.sh+32 -00 replies
25/35transport-helper: remove name parametertransport-helper.c+3 -30 replies
26/35transport-helper: refactor process_connect_servicetransport-helper.c+38 -290 replies
27/35transport-helper: introduce stateless-connectDocumentation/gitremote-helpers.txt transport-helper.c transport.c +1 more+50 -00 replies
28/35pkt-line: add packet_buf_write_len functionpkt-line.c pkt-line.h+17 -00 replies
29/35remote-curl: create copy of the service nameremote-curl.c+3 -20 replies
30/35remote-curl: store the protocol version the server responded withremote-curl.c+3 -10 replies
31/35http: allow providing extra headers for http requestshttp.c http.h+15 -00 replies
32/35http: don't always add Git-Protocol headerhttp.c remote-curl.c+33 -170 replies
33/35http: eliminate "# service" line when using protocol v2http-backend.c remote-curl.c+9 -20 replies
34/35remote-curl: implement stateless-connect commandremote-curl.c t/t5702-protocol-v2.sh+251 -10 replies
35/35remote-curl: don't request v2 when pushingremote-curl.c t/t5702-protocol-v2.sh+34 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v6 yet.

Read the v6 thread

Cover letter [PATCH v6 00/35] protocol version 2

Fixed the protocol-v2.txt technical document so that it builds when running "make doc".

Brandon Williams (35):
pkt-line: introduce packet_read_with_status
pkt-line: allow peeking a packet line without consuming it
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
test-pkt-line: introduce a packet-line test helper
serve: introduce git-serve
ls-refs: introduce ls-refs server command
connect: request remote refs using v2
transport: convert get_refs_list to take a list of ref prefixes
transport: convert transport_get_remote_refs to take a list of ref
prefixes
ls-remote: pass ref prefixes when requesting a remote's refs
fetch: pass ref prefixes when fetching
push: pass ref prefixes when pushing
upload-pack: introduce fetch server command
fetch-pack: perform a fetch using v2
fetch-pack: support shallow requests
connect: refactor git_connect to only get the protocol version once
connect: don't request v2 when pushing
transport-helper: remove name parameter
transport-helper: refactor process_connect_service
transport-helper: introduce stateless-connect
pkt-line: add packet_buf_write_len function
remote-curl: create copy of the service name
remote-curl: store the protocol version the server responded with
http: allow providing extra headers for http requests
http: don't always add Git-Protocol header
http: eliminate "# service" line when using protocol v2
remote-curl: implement stateless-connect command
remote-curl: don't request v2 when pushing

 .gitignore                              |   1 +
 Documentation/Makefile                  |   1 +
 Documentation/gitremote-helpers.txt     |  32 ++
 Documentation/technical/protocol-v2.txt | 395 +++++++++++++++
 Makefile                                |   7 +-
 builtin.h                               |   2 +
 builtin/clone.c                         |   2 +-
 builtin/fetch-pack.c                    |  20 +-
 builtin/fetch.c                         |  21 +-
 builtin/ls-remote.c                     |  15 +-
 builtin/receive-pack.c                  |   6 +
 builtin/remote.c                        |   2 +-
 builtin/send-pack.c                     |  20 +-
 builtin/serve.c                         |  30 ++
 builtin/upload-pack.c                   |  74 +++
 connect.c                               | 364 ++++++++++----
 connect.h                               |   7 +
 fetch-pack.c                            | 339 ++++++++++++-
 fetch-pack.h                            |   4 +-
 git.c                                   |   2 +
 http-backend.c                          |   8 +-
 http.c                                  |  25 +-
 http.h                                  |   7 +
 ls-refs.c                               |  96 ++++
 ls-refs.h                               |  10 +
 pkt-line.c                              | 133 ++++-
 pkt-line.h                              |  78 +++
 protocol.c                              |   2 +
 protocol.h                              |   1 +
 refs.c                                  |  14 +
 refs.h                                  |   7 +
 remote-curl.c                           | 280 ++++++++++-
 remote.h                                |  11 +-
 serve.c                                 | 257 ++++++++++
 serve.h                                 |  15 +
 t/helper/test-pkt-line.c                |  64 +++
 t/t5701-git-serve.sh                    | 176 +++++++
 t/t5702-protocol-v2.sh                  | 273 +++++++++++
 transport-helper.c                      |  87 ++--
 transport-internal.h                    |  11 +-
 transport.c                             | 130 +++--
 transport.h                             |  18 +-
 upload-pack.c                           | 615 ++++++++++++++++++------
 upload-pack.h                           |  23 +
 44 files changed, 3317 insertions(+), 368 deletions(-)
 create mode 100644 Documentation/technical/protocol-v2.txt
 create mode 100644 builtin/serve.c
 create mode 100644 builtin/upload-pack.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 100644 t/helper/test-pkt-line.c
 create mode 100755 t/t5701-git-serve.sh
 create mode 100755 t/t5702-protocol-v2.sh
 create mode 100644 upload-pack.h

base-commit: 5be1f00a9a701532232f57958efab4be8c959a29

Signature · 1 line
2.16.2.804.g6dcf76e118-goog