The MUST and the following 'If' scenario may seem contradictory at first
glance; swap their order to alleviate this.
Also mention that the response should specifically be for the requested
service, for clarity's sake.
From: Junio C Hamano <gits...@pobox.com>
> +Smart Server Response
> +Smart servers MUST respond with the smart server reply format.
> +If the server does not recognize the requested service name, or the
> +requested service name has been disabled by the server administrator,
> +the server MUST respond with the '403 Forbidden' HTTP status code.
This is a bit confusing.
If you as a server administrator want to disable the smart upload-pack for
one repository (but not for other repositories), you would not be able to
force smart clients to fall back to the dumb protocol by giving "403" for
Maybe in 2 years somebody smarter than us will have invented a more
efficient git-upload-pack-2 service, which is the only fetch protocol his
server supports other than dumb. If your v1 smart client asks for the
original git-upload-pack service and gets a "403", you won't be able to
fall back to "dumb".
The solution for such cases likely is to pretend as if you are a dumb
server for the smart request. That unfortunately means that the first
sentence is misleading, and the second sentence is also an inappropriate
Signed-off-by: Tay Ray Chuan <rcta...@gmail.com>
Documentation/technical/http-protocol.txt | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/technical/http-protocol.txt
index 4bb1614..63a089a 100644
@@ -234,12 +234,13 @@ description of the dumb server response.
Smart Server Response
-Smart servers MUST respond with the smart server reply format.
If the server does not recognize the requested service name, or the
requested service name has been disabled by the server administrator,
the server MUST respond with the '403 Forbidden' HTTP status code.
+Otherwise, smart servers MUST respond with the smart server reply
+format for the requested service name.
Cache-Control headers SHOULD be used to disable caching of the
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html