Skip to content

Commit

Permalink
gitweb: Use the config file to set repository owner's name.
Browse files Browse the repository at this point in the history
Now gitweb checks if gitweb.owner exists before trying to get filesystem's
owner.

Allow to use configuration variable gitweb.owner set the repository owner,
it checks the gitweb.owner, if not set it uses filesystem directory's owner.

Useful when we 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).

Signed-off-by: Bruno Ribas <ribas@c3sl.ufpr.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Bruno Ribas authored and Junio C Hamano committed Feb 10, 2008
1 parent 053d9e4 commit b59012e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
4 changes: 4 additions & 0 deletions gitweb/README
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,10 @@ You can use the following files in repository:
Displayed in the project summary page. You can use multiple-valued
gitweb.url repository configuration variable for that, but the file
takes precendence.
* gitweb.owner
You can use the gitweb.owner repository configuration variable to set
repository's owner. It is displayed in the project list and summary
page. If it's not set, filesystem directory's owner is used.
* various gitweb.* config variables (in config)
Read description of %feature hash for detailed list, and some
descriptions.
Expand Down
6 changes: 5 additions & 1 deletion gitweb/gitweb.perl
Original file line number Diff line number Diff line change
Expand Up @@ -1759,6 +1759,7 @@ sub git_get_project_owner {
my $owner;

return undef unless $project;
$git_dir = "$projectroot/$project";

if (!defined $gitweb_project_owner) {
git_get_project_list_from_file();
Expand All @@ -1767,8 +1768,11 @@ sub git_get_project_owner {
if (exists $gitweb_project_owner->{$project}) {
$owner = $gitweb_project_owner->{$project};
}
if (!defined $owner){
$owner = git_get_project_config('owner');
}
if (!defined $owner) {
$owner = get_file_owner("$projectroot/$project");
$owner = get_file_owner("$git_dir");
}

return $owner;
Expand Down

0 comments on commit b59012e

Please sign in to comment.