summaryrefslogtreecommitdiff
path: root/gitweb
diff options
context:
space:
mode:
authorBruno Ribas <ribas@c3sl.ufpr.br>2008-02-08 14:38:04 -0200
committerJunio C Hamano <gitster@pobox.com>2008-02-09 23:37:03 -0800
commitb59012ef4e7dde1895d988736c7df64f68b1e940 (patch)
tree4e37b9b883eb0ea33d074cc01df5c864479fadff /gitweb
parent053d9e432be246a389fb8adaa0c88e7c791f8b21 (diff)
downloadgit-b59012ef4e7dde1895d988736c7df64f68b1e940.tar.gz
gitweb: Use the config file to set repository owner's name.
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>
Diffstat (limited to 'gitweb')
-rw-r--r--gitweb/README4
-rwxr-xr-xgitweb/gitweb.perl6
2 files changed, 9 insertions, 1 deletions
diff --git a/gitweb/README b/gitweb/README
index 4c8bedf744..2163071047 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -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.
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 8ef2735c58..c8fe22a961 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -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();
@@ -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;