[PATCH 20/25] serve: understand but do not advertise 'features' capability
From: Derrick Stolee via GitGitGadget <hidden>
Date: 2022-02-23 18:32:04
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Derrick Stolee via GitGitGadget <hidden>
Date: 2022-02-23 18:32:04
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Derrick Stolee <redacted> 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 <redacted> --- 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