On Tue, Jan 29, 2008 at 04:28:19PM +0100, Jakub Narebski wrote: > On Tue, 29 Jan 2008, Bruno Cesar Ribas wrote: > > On Tue, Jan 29, 2008 at 03:26:31AM -0800, Jakub Narebski wrote: > >> Bruno Ribas <ribas@xxxxxxxxxxxx> writes: > >> > >>> This file ($projectroot/$project/owner) is good to have when we don't want to > >>> maintain a project list AND when we share same SSH account for all projects, > >>> using ssh_acl for example. > >>> > >>> Signed-off-by: Bruno Ribas <ribas@xxxxxxxxxxxx> > >> > >> This explanation is a bit too complicated; it explains farther > >> reasons, instead of immediate ones: you don't want to maintain project > >> list file, and all repository directories have to have the same owner > >> (for example when the same SSH account is shared for all projects, > >> using ssh_acl to control access instead). > > > > I'm sorry about this complicated explanation. > > It is not [that] bad description, but it could be better. Also, 80 columns > word wrap is good, but 72-76 would be even better :-) > > >> Besides with new faster config reader we probably would want to allow > >> to use config file to set owner, instead of adding yet another file to > >> the repo area; see commit 0e121a2cd42d28bc4034feedf8a13c5a91f85bd3 > >> "gitweb: Use config file for repository description and URLs" > >> This would have the advantage that you could use system config > >> (/etc/gitconfig) to set fallback owner instead of relying on > >> filesystem. I'm not sure what should be the preference, though: > >> gitweb.owner, then $GIT_DIR/owner, or vice versa? I guess that > >> reading $GIT_DIR/owner should take preference, as it is needed also > >> for projects list page, where ordinary we didn't read individual > >> repositories configuration. > > > > Reading $GIT_DIR/owner would be the preference, Maybe it can generate project > > list page faster when machine have high IO waits (WA). > > Yes, I also think so. Two file reads (description + owner) should be > still faster than one running git-config, and parsing its output. > > But I think if IO matters it is better to generate projects list; you > can even use gitweb for that, or you can simply add a line with URL > escaped project name (project path) relative to $projectroot, separated > by space from the URL escaped (URI-encoded) project owner. See also > "Gitweb repositories" section in gitweb/INSTALL. Adding projects is > rare event. > > > Having gitweb.owner is good too, but as you said I don't need to read > > individual repositories configuration. > > > > Having another file at the repo area is not a problem (my say). Sometimes > > having files appears to be more organized than having everything in one file > > (my say again). > > By the way, I have forgot to ask you to add description of new 'owner' > file to "Per-repository gitweb configuration" section in gitweb/README I'm on the way to add description of 'owner' file, before commint should I implement gitweb.owner too? then that README comes with two way of seting owner. Or let only owner file for now? > > > I even made another patch about cloneURL, instead of looking for inside files > > and stuff, i made gitweb.conf a variable that says: > > - If i have a prefix path for HTTP,SSH,GIT[protocol] > > Then if this variable is set gitweb only mounts... like > > HTTPPREFIX="http://git.c3sl.ufpr.br/pub/scm" > > and gitweb sets it to $HTTPREFIX/$project > > > > I made this because I don't want to set each project it's clone URL, so this > > makes thing easier! What do you think? > > I hope that this hack predates latest improvements to gitweb/README, > as you have just reimplemented GITWEB_BASE_URL build configuration > variable (only single base URL), and @git_base_url_list, which you > can set in gitweb config file (by default gitweb_config.perl). Ok, I'll check recent version of gitweb and i'll send this commit if relevant =) > > If you have read current code carefully, you should notice that > currently gitweb generates URLs for repository in the following way: > > 1. Per repository configuration: > a. $projectroot/$project/cloneurl (one line perl URL) > b. multivalued gitweb.url configuration variable in project config > 2. Global gitweb configuration > a. $prefix/$project for each $prefix element in @git_base_url_list, > which is set in gitweb_config.perl > 3. Build time defaults > a. Single value in @git_base_url_list set using GITWEB_BASE_URL > build configuration variable > 4. Otherwise it is not set (it is empty). > > -- > Jakub Narebski > Poland -- Bruno Ribas - ribas@xxxxxxxxxxxx http://web.inf.ufpr.br/ribas C3SL: http://www.c3sl.ufpr.br - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html