ref:main

server-option capability advertised but ignored #36

open Opened by cole.christensen@gmail.com

Links

No links yet.

Problem

UploadPackV2 advertises `server-option` in its capability list. Clients that run `git -c fetch.serverOption=X fetch` (or `git fetch -o X`) send `server-option ` lines in the fetch request. These lines land in `args` via `extract_args/1` but nothing reads them.

The README capability matrix marks this ✅ advertised, which is accurate but misleading — a reader might assume the options do something.

Fix plan

Either:

  • A. Wire up server-options. Extract them into a `server_options` list on the state, make them available to callers (e.g. via a new optional `:server_options` key threaded through `handle_fetch`). Document that internal callers can inspect / react to them.

  • B. Downgrade to a ‘declared but no-op’ row in the README and add a comment in `build_capability_advertisement/0` explaining why.

A is useful if we ever want deploy-key-scoped fetches or debug flags; B is the honest minimum.

Acceptance criteria

  • Either the options are exposed to callers AND a test asserts round-tripping, OR the README and capability advert clearly state the options are accepted but discarded.

Context

Flagged in the audit of PR #20.