doc/http-backend: match query-string in apache half-auth example
commitb0808819e5806f5ff01ffcc34db2796d180ad0d9
authorJeff King <peff@peff.net>
Sat, 13 Apr 2013 03:33:36 +0000 (12 23:33 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 14 Apr 2013 05:27:06 +0000 (13 22:27 -0700)
treeb9643d7d4de9b0d0db0cb58102729b5e96c7dd62
parent3813a33de5f9e8224eb2bd2ebae167b3bb00ef73
doc/http-backend: match query-string in apache half-auth example

When setting up a "half-auth" repository in which reads can
be done anonymously but writes require authentication, it is
best if the server can require authentication for both the
ref advertisement and the actual receive-pack POSTs. This
alleviates the need for the admin to set http.receivepack in
the repositories, and means that the client is challenged
for credentials immediately, instead of partway through the
push process (and git clients older than v1.7.11.7 had
trouble handling these challenges).

Since detecting a push during the ref advertisement requires
matching the query string, and this is non-trivial to do in
Apache, we have traditionally punted and instructed users to
just protect "/git-receive-pack$".  This patch provides the
mod_rewrite recipe to actually match the ref advertisement,
which is preferred.

While we're at it, let's add the recipe to our test scripts
so that we can be sure that it works, and doesn't get broken
(either by our changes or by changes in Apache).

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Jakub Narębski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-http-backend.txt
t/lib-httpd/apache.conf
t/t5541-http-push.sh