Subject: Re: [PATCH] gitweb: fix regression when filtering out forks

From: Jakub Narebski <[email-masked]>
Date: Fri, 21 Oct 2011 22:51:18 +0200

On Fri, 21 Oct 2011, Julien Muchembled wrote:

> This fixes a condition in filter_forks_from_projects_list that failed if
> process directory was different from project root: in such case, the subroutine
> was a no-op and forks were not detected.
> 
> Signed-off-by: Julien Muchembled <[email-masked]>

Thanks.

I am embarrassed that I missed this; in the test I have added $projectroot
_is_ current directory for script.  Anyway I have tested this in running
local installation on testsuite, and it now works (i.e. hide forks under
"+" character, where it would not before - gitweb shown every project).

Tested-by: Jakub Narebski <[email-masked]>

> ---
>  gitweb/gitweb.perl |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 70a576a..206e2a6 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -2875,7 +2875,7 @@ sub filter_forks_from_projects_list {
>  		$path =~ s/\.git$//;      # forks of 'repo.git' are in 'repo/' directory
>  		next if ($path =~ m!/$!); # skip non-bare repositories, e.g. 'repo/.git'
>  		next unless ($path);      # skip '.git' repository: tests, git-instaweb
> -		next unless (-d $path);   # containing directory exists
> +		next unless (-d "$projectroot/$path"); # containing directory exists
>  		$pr->{'forks'} = [];      # there can be 0 or more forks of project
>  
>  		# add to trie
> -- 

-- 
Jakub Narebski
Poland