Re: [PATCH 3/3] daemon: Support a --user-path option.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Feb 4, 2006, 12:40 UTC
- Message-ID
- <7v8xsrz49e.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <slrndu8utr.2i8.mdw@metalzone.distorted.org.uk>
Mark Wooding <mdw@distorted.org.uk> writes:
Show 6 quoted lines
> This is what I'm after, yes. The above can be achieved > straightforwardly with --user-path=. if that's what you actually wanted. > (Indeed, --user-path= works too, but this is harder to explain.) > > I think I'd probably either run with --user-path=public-git or > --user-path=public_html/git -- I've not made my mind up.
I made that conditional to --strict, but come to think of it, an independent option like --user-path makes more sense, whether that option does the public_html-like path munging or not.
I think for personal repositories public_html-like limiting may be simpler to manage than the current approach of using git-daemon-export-ok flag file (the latter is more flexible but most people probably do not need that flexibility).
In my simplistic view, --base-path serves something like /pub hierarchy of an ftp server or /var/www of an http server. It goes hand-in-hand with the whitelist and everything under it are exported without having to mark individual directories with git-daemon-export-ok (or having a name like public_html to mark it exportable). For ~user/ based paths, it is natural to wish to limit the parts of home directories but there currently is not a good way to do so. We could probably extend the whitelist to take path glob patterns and say "~*/public-git/" or something silly like that, but that still means the request must be in the form "git://host/~alice/public-git/frotz.git/" (which may not be such a bad thing); "git://host/~alice/frotz.git/" might look nicer. Your path munging idea is one way to do so. Another would be for alice to have $HOME/frotz.git/git-daemon-export-ok. Personally I do not think either would make too much of a difference from usability point of view.
So I am not dismissing what you are trying to achieve here. However, I am not happy about having <pwd.h> there and majorly duplicating what enter_repo() does in that part of the code.