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(-)
--
2.17.0.484.g0c8726318c-goog