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

6 messages from 2006-09-19 to 2006-09-20. Participants: Petr Baudis, Jakub Narebski, Junio C Hamano.
Thread: https://gitlist.dev/t/5611

## Petr Baudis, 2006-09-19 22:55

Subject: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <20060919225522.GB13132@pasky.or.cz>
URL: https://gitlist.dev/e/20060919225522.GB13132%40pasky.or.cz

```
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@suse.cz>
---

 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'});

```

## Jakub Narebski, 2006-09-19 23:04

Subject: Re: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <eept0r$5d0$1@sea.gmane.org>
URL: https://gitlist.dev/e/eept0r%245d0%241%40sea.gmane.org
In-Reply-To: <20060919225522.GB13132@pasky.or.cz>

```
Petr Baudis wrote:

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

Is it really needed? If $projects_list is a _file_, you can set correct
ownership information there.

Now $projects_list being a directory (usually $projectroot) support
hierarchy of repositories; generating appropriate projects' index file
is as easy as unsetting $projects_list (so it is by default set to
$projectroot), going to summary view, clicking [TXT] link on the left of
[OPML] link at the bottom, copy the result to projects' index file, correct
ownership information (and perhaps remove some projects), and set
$projects_list to this file.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

```

## Petr Baudis, 2006-09-19 23:09

Subject: Re: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <20060919230925.GG8259@pasky.or.cz>
URL: https://gitlist.dev/e/20060919230925.GG8259%40pasky.or.cz
In-Reply-To: <eept0r$5d0$1@sea.gmane.org>

```
Dear diary, on Wed, Sep 20, 2006 at 01:04:50AM CEST, I got a letter
where Jakub Narebski <jnareb@gmail.com> said that...
> Petr Baudis wrote:
> 
> > 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).
> 
> Is it really needed? If $projects_list is a _file_, you can set correct
> ownership information there.
> 
> Now $projects_list being a directory (usually $projectroot) support
> hierarchy of repositories; generating appropriate projects' index file
> is as easy as unsetting $projects_list (so it is by default set to
> $projectroot), going to summary view, clicking [TXT] link on the left of
> [OPML] link at the bottom, copy the result to projects' index file, correct
> ownership information (and perhaps remove some projects), and set
> $projects_list to this file.

Which is not really easy at all. I would have to do some ugly script to
autogenerate the text file while this way I can just throw the data to
the hierarchy and having everything still working magically.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Snow falling on Perl. White noise covering line noise.
Hides all the bugs too. -- J. Putnam

```

## Junio C Hamano, 2006-09-20 15:02

Subject: Re: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <7veju6lgxu.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7veju6lgxu.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20060919225522.GB13132@pasky.or.cz>

```
Petr Baudis <pasky@suse.cz> writes:

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

Hmph.  I wonder why.  We do read description already from a file
so maybe we would want a faster way to access the config file to
grab gitweb.* variables in a single call?

In any case, I like where this patch is going and agree that
file owner should be overridable with something like this.

```

## Petr Baudis, 2006-09-20 15:42

Subject: Re: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <20060920154208.GN8259@pasky.or.cz>
URL: https://gitlist.dev/e/20060920154208.GN8259%40pasky.or.cz
In-Reply-To: <7veju6lgxu.fsf@assigned-by-dhcp.cox.net>

```
Dear diary, on Wed, Sep 20, 2006 at 05:02:21PM CEST, I got a letter
where Junio C Hamano <junkio@cox.net> said that...
> Petr Baudis <pasky@suse.cz> writes:
> 
> > Also, ideally this would be in the configfile but calling repoconfig for
> > each repository in the index would slow things down way too much.
> 
> Hmph.  I wonder why.  We do read description already from a file
> so maybe we would want a faster way to access the config file to
> grab gitweb.* variables in a single call?

Still, opening files is _much_ faster than executing a tool, I'd say.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Snow falling on Perl. White noise covering line noise.
Hides all the bugs too. -- J. Putnam

```

## Jakub Narebski, 2006-09-20 19:01

Subject: Re: [PATCH] gitweb: Support for custom per-project owner string
Message-ID: <ees35e$4vh$1@sea.gmane.org>
URL: https://gitlist.dev/e/ees35e%244vh%241%40sea.gmane.org
In-Reply-To: <20060920154208.GN8259@pasky.or.cz>

```
Petr Baudis wrote:

> Dear diary, on Wed, Sep 20, 2006 at 05:02:21PM CEST, I got a letter
> where Junio C Hamano <junkio@cox.net> said that...
>> Petr Baudis <pasky@suse.cz> writes:
>> 
>>> Also, ideally this would be in the configfile but calling repoconfig for
>>> each repository in the index would slow things down way too much.
>> 
>> Hmph.  I wonder why.  We do read description already from a file
>> so maybe we would want a faster way to access the config file to
>> grab gitweb.* variables in a single call?
> 
> Still, opening files is _much_ faster than executing a tool, I'd say.

Perhaps we should just parse $GIT_DIR/config ourself in gitweb
(this is thing that I certainly would want to see in Git.pm).
There are many modules which parse ini-like config files, but it
shouldn't be that difficult to write parser which _reads_ and parses
config file (without support for setting variables).

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

```
