Skip to content

optionally send server-options when using v2

Brandon Williams git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3serve: introduce the server-option capabilityDocumentation/technical/protocol-v2.txt serve.c t/t5701-git-serve.sh+32 -00 replies
2/3ls-remote: send server options when using protocol v2Documentation/git-ls-remote.txt builtin/ls-remote.c connect.c +4 more+46 -30 replies
3/3fetch: send server options when using protocol v2Documentation/fetch-options.txt builtin/fetch.c fetch-pack.c +3 more+38 -00 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH 0/3] optionally send server-options when using v2

Building on top of protocol version 2 this series adds the ability to optionally send server specific options when using protocol v2. This resembles the "push-options" feature except server options are sent as capability lines during a command request allowing for all current and future commands to benefit from sending arbitrary server options (and not requiring that sending server specific options be re-implemented for each and every command that may want to make use of them in the future).

These options can be provided by the user via the command line by giving "-o <option>" or "--server-option=<option>" to either ls-remote or fetch.

Command request example:

	command=fetch
	server-option=hello
	server-option=world
	0001
	want A
	want B
	have X
	have Y
	0000

These options are only transmitted to the remote end when communicating using protocol version 2.

Brandon Williams (3):
serve: introduce the server-option capability
ls-remote: send server options when using protocol v2
fetch: send server options when using protocol v2

 Documentation/fetch-options.txt         |  8 +++++++
 Documentation/git-ls-remote.txt         |  8 +++++++
 Documentation/technical/protocol-v2.txt | 10 ++++++++
 builtin/fetch.c                         |  5 ++++
 builtin/ls-remote.c                     |  4 ++++
 connect.c                               |  9 ++++++-
 fetch-pack.c                            |  7 ++++++
 fetch-pack.h                            |  1 +
 remote.h                                |  4 +++-
 serve.c                                 |  1 +
 t/t5701-git-serve.sh                    | 21 ++++++++++++++++
 t/t5702-protocol-v2.sh                  | 32 +++++++++++++++++++++++++
 transport.c                             |  3 ++-
 transport.h                             |  6 +++++
 14 files changed, 116 insertions(+), 3 deletions(-)
Signature · 1 line
2.17.0.484.g0c8726318c-goog