[PATCH] gitweb: Support for custom per-project owner string

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

 



This adds very simple support for per-project setting of the owner string
(in an environment where the actual owners won't have access to the
repositories accessed by gitweb, so faking identity is not an issue).

There should be an option to disable this, but this is just a patch
that someone might like (and/or pick up and polish), not intended for
inclusion as it is.

Also, ideally this would be in the configfile but calling repoconfig for
each repository in the index would slow things down way too much.

Signed-off-by: Petr Baudis <pasky@xxxxxxx>
---

 gitweb/gitweb.perl |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 7ecd7df..d50bae5 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -818,6 +818,13 @@ sub git_get_project_owner {
 		}
 		close $fd;
 	}
+	if (!defined $owner and -f "$projectroot/$project/owner") {
+		if (open my $fd, "$projectroot/$project/owner") {
+			$owner = <$fd>;
+			chomp $owner;
+			close $fd;
+		}
+	}
 	if (!defined $owner) {
 		$owner = get_file_owner("$projectroot/$project");
 	}
@@ -2186,7 +2193,7 @@ sub git_project_list {
 			$pr->{'descr'} = chop_str($descr, 25, 5);
 		}
 		if (!defined $pr->{'owner'}) {
-			$pr->{'owner'} = get_file_owner("$projectroot/$pr->{'path'}") || "";
+			$pr->{'owner'} = git_get_project_owner($pr->{'path'}) || "";
 		}
 		push @projects, $pr;
 	}
@@ -2275,7 +2282,7 @@ sub git_project_index {
 
 	foreach my $pr (@projects) {
 		if (!exists $pr->{'owner'}) {
-			$pr->{'owner'} = get_file_owner("$projectroot/$project");
+			$pr->{'owner'} = git_get_project_owner($project);
 		}
 
 		my ($path, $owner) = ($pr->{'path'}, $pr->{'owner'});
-
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]