threads / patch / 28738

patchgitweb: fix regression when filtering out forks

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

## tl;dr

2 messages between Oct 21, 2011 and Oct 21, 2011. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Julien Muchembled· Oct 21, 2011, 19:04 UTC · lore

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 <jm@jmuchemb.eu>
---
 gitweb/gitweb.perl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to gitweb/gitweb.perl +1 −1
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
-- 
1.7.7.731.g3af63.dirty
Jakub Narebski· Oct 21, 2011, 20:51 UTC · re: Julien Muchembled · lore

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

On Fri, 21 Oct 2011, Julien Muchembled wrote:
Show 5 quoted lines
> 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 <jm@jmuchemb.eu>
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 <jnareb@gmail.com>
Show 18 quoted lines
> ---
>  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

← back to recent threads