From: Derrick Stolee <derrickstolee@xxxxxxxxxx> The previous change implemented cap_features() to return a set of 'key=value' pairs when this capability is run. Add the capability to our list of understood capabilities. This change does not advertise the capability. When deploying a new capability to a distributed fleet of Git servers, it is important to delay advertising the capability until all nodes understand it. A later change will advertise it when appropriate, but as a separate change to simplify this transition. Signed-off-by: Derrick Stolee <derrickstolee@xxxxxxxxxx> --- serve.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/serve.c b/serve.c index b3fe9b5126a..a1c853dda1f 100644 --- a/serve.c +++ b/serve.c @@ -18,6 +18,12 @@ static int always_advertise(struct repository *r, return 1; } +static int never_advertise(struct repository *r, + struct strbuf *value) +{ + return 0; +} + static int agent_advertise(struct repository *r, struct strbuf *value) { @@ -136,6 +142,11 @@ static struct protocol_capability capabilities[] = { .advertise = always_advertise, .command = cap_object_info, }, + { + .name = "features", + .advertise = never_advertise, + .command = cap_features, + }, }; void protocol_v2_advertise_capabilities(void) -- gitgitgadget