From: Matthieu Moy Date: Wed, 4 Jan 2012 10:07:45 +0000 (+0100) Subject: gitweb: accept trailing "/" in $project_list X-Git-Tag: v1.7.9-rc1~11^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=ac593b76dde42fa8340fb60e7d6fc315a5be7c40;p=git.git gitweb: accept trailing "/" in $project_list The current code is removing the trailing "/", but computing the string length on the previous value, i.e. with the trailing "/". Later in the code, we do my $path = substr($File::Find::name, $pfxlen + 1); And the "$pfxlen + 1" is supposed to mean "the length of the prefix, plus 1 for the / separating the prefix and the path", but with an incorrect $pfxlen, this basically eats the first character of the path, and yields "404 - No projects found". While we're there, also fix $pfxdepth to use $dir, although a change of 1 in the depth shouldn't really matter. Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 014b33b50..e12ddba76 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2661,8 +2661,8 @@ sub git_get_projects_list { my $dir = $projects_list; # remove the trailing "/" $dir =~ s!/+$!!; - my $pfxlen = length("$projects_list"); - my $pfxdepth = ($projects_list =~ tr!/!!); + my $pfxlen = length("$dir"); + my $pfxdepth = ($dir =~ tr!/!!); # when filtering, search only given subdirectory if ($filter) { $dir .= "/$filter";