git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] clone: send server options when using protocol v2

From
JTJonathan Tan <jonathantanmy@google.com>
Date
Apr 9, 2019, 18:49 UTC
Message-ID
<20190409184949.207114-1-jonathantanmy@google.com>
In-Reply-To
<xmqqk1g342xi.fsf@gitster-ct.c.googlers.com>
Show 11 quoted lines
> Does the code behave sensibly when the --server-option=... option is
> given and
> 
>  (a) the given option is not understood by the other side that talks
>      protocol v2?  Or
> 
>  (b) it turns out that the other side does not talk protocol v2?
> 
> In the former case, I would expect that there would be a way to
> respond with a failure for the other side and "git clone" should
> notice and respond by die()-ing at the end.

Right now, the server ignores it (it collects them as "keys" in process_request() in serve.c and then passes them to the individual commands, but they don't do anything about it).

Right now it's documented as:
	-o <option>::
	--server-option=<option>::
		Transmit the given string to the server when communicating using
		protocol version 2.  The given string must not contain a NUL or LF
		character.
		When multiple `--server-option=<option>` are given, they are all
		sent to the other side in the order listed on the command line.
I'm inclined to add:
  The server's handling of server options, including unknown ones, is
  server-specific.
> In the latter case, I would expect at least that a warning about
> accepted but ignored server-option to be given, or "git clone" to
> fail with an error "cannot honor the server-option".

Right now there's no warning, but I'll add one in the next reroll to both "fetch" and "clone".

> If the code does not match the above expectations, at least that
> should be documented, I think.  If "git fetch" shares the same
> issue, this would be a good time to address it, too.
Previous: Junio C HamanoNext: Jonathan Tan
Message 5 of 22 in “clone: send server options when using protocol v2”
  1. clone: send server options when using protocol v2Jonathan Tan, Apr 5, 2019
  2. Jonathan NiederApr 6, 2019
  3. Jonathan TanApr 8, 2019
  4. Junio C HamanoApr 9, 2019
  5. Jonathan TanApr 9, 2019
  6. 0/2 Server options when cloningJonathan Tan, Apr 9, 2019
  7. 1/2 transport: warn if server options are unsupportedJonathan Tan, Apr 9, 2019
  8. Jonathan NiederApr 9, 2019
  9. Junio C HamanoApr 10, 2019
  10. 2/2 clone: send server options when using protocol v2Jonathan Tan, Apr 9, 2019
  11. Jonathan NiederApr 9, 2019
  12. 0/2 Server options when cloningJonathan Tan, Apr 11, 2019
  13. 1/2 transport: warn if server options are unsupportedJonathan Tan, Apr 11, 2019
  14. Junio C HamanoApr 12, 2019
  15. 2/2 clone: send server options when using protocol v2Jonathan Tan, Apr 11, 2019
  16. 0/2 Server options when cloningJonathan Tan, Apr 12, 2019
  17. 1/2 transport: die if server options are unsupportedJonathan Tan, Apr 12, 2019
  18. SZEDER GáborApr 12, 2019
  19. Re* [PATCH v4 1/2] transport: die if server options are unsupportedJunio C Hamano, Apr 15, 2019
  20. Junio C HamanoApr 15, 2019
  21. SZEDER GáborApr 15, 2019
  22. 2/2 clone: send server options when using protocol v2Jonathan Tan, Apr 12, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.