Re: [PATCH] Added sub get_owner_file which checks if there's a file with project owner name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

> 
> 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).

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).

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 guess that it is meant to be post 1.5.4, isn't it?
> 
> > ---
> >  gitweb/gitweb.perl |   14 ++++++++++++++
> >  1 files changed, 14 insertions(+), 0 deletions(-)
> > 
> > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> > index 6256641..fac5f78 100755
> > --- a/gitweb/gitweb.perl
> > +++ b/gitweb/gitweb.perl
> > @@ -1754,6 +1754,15 @@ sub git_get_project_list_from_file {
> >  	}
> >  }
> >  
> > +sub get_owner_file {
> > +    my $owner_file = shift;
> 
> Here you use spaces instead of tabs in indent.
> 
> > +
> > +	open my $fd, "$owner_file" or return undef;
> 
> 	open my $fd, $owner_file or return undef;
> 
> would be simpler.
> 
> > +	my $owner = <$fd>;
> > +	close $fd;
> > +	return to_utf8($owner);
> > +}
> 
> I wonder if we should just bite the bullet and replace all such by
> generic subroutine called e.g. read_singleline_file, or something like
> that.  Or perhaps not, if we want to read alternatively from config,
> with different config variable key names and different preferences of
> file/config priority...
> 
> > +
> >  sub git_get_project_owner {
> >  	my $project = shift;
> >  	my $owner;
> > @@ -1767,6 +1776,11 @@ sub git_get_project_owner {
> >  	if (exists $gitweb_project_owner->{$project}) {
> >  		$owner = $gitweb_project_owner->{$project};
> >  	}
> > +
> > +    if ( -f "$projectroot/$project/owner" ) {
> > +        $owner = get_owner_file("$projectroot/$project/owner");
> > +    }
> > +
> 
> Here you use spaces. I think that you can lose spaces around condition
> in the above 'if'.
> 
> >  	if (!defined $owner) {
> >  		$owner = get_file_owner("$projectroot/$project");
> >  	}
> > -- 
> > 1.5.3.8
> 
> I hope that doesn't mean that this patch is based on v1.5.3.8
> gitweb...
> 
> -- 
> Jakub Narebski
> Poland
> ShadeHawk on #git

-- 
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux