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

Reply via email to