Subject: Re: Does smart-http need git-daemon-export-ok?

From: "Shawn O. Pearce" <[email-masked]>
Date: Sun, 27 Dec 2009 13:06:53 -0800

Junio C Hamano <[email-masked]> wrote:
> Tarmigan <[email-masked]> writes:
> > Should the git-http-backend check something like git-daemon-export-ok
> > before serving a repository?
> 
> I'd agree that it would make sense to have a way to mark individual
> repository for (or not for) export.

Just for some background... early drafts of git-http-backend actually
did check for, and require, this file before it exported a repository.

I took the check out because I was relying on the HTTP server's
document root translation to provide the mapping into the local
filesystem.  That meant the HTTP repository was already exported via
dumb-http, and the git-daemon-export-ok flag wasn't being checked.

Later in the series development we got the patch to allow a
different filesystem root via an environment variable, which means
its possible to hide repositories and make them available only
through git-http-backend.  In that configuration, checking the
git-daemon-export-ok flag makes sense again.
 
> In "native" case, the chain of events are: client talks to the daemon, the
> daemon checks and decides to (or not to) export, and it runs upload-pack.
> 
> In "smart http" case, http-backend is one half of what corresponds to the
> daemon (the other half being your http server configuration), and it is
> more flexible and git specific half, so I'd say it would make sense to
> implement the check that honors the same git-daemon-export-ok flag file in
> it.

Yea, I'd agree.

-- 
Shawn.