Hi, gitweb terminates and shows no project list, if it can not access a sub-directory in the project root directory. It should show a list of the projects it can access. Patch corrects this by skipping inaccessible directories. Signed-off-by: Hielke Christian Braun <hcb@xxxxxxx> --- gitweb/gitweb.perl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 3d4a8ee27c96a..9208f42ed1753 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3071,6 +3071,8 @@ sub git_get_projects_list { return if (m!^[/.]$!); # only directories can be git repositories return unless (-d $_); + # need search permission + return unless (-x $_); # don't traverse too deep (Find is super slow on os x) # $project_maxdepth excludes depth of $projectroot if (($File::Find::name =~ tr!/!!) - $pfxdepth > $project_maxdepth) { -- https://github.com/git/git/pull/384 On 2017-07-17 22:18, Junio C Hamano wrote: > Hielke Christian Braun <hcb@xxxxxxx> writes: > >> --- >> gitweb/gitweb.perl | 2 ++ >> 1 file changed, 2 insertions(+) > > Thanks for trying to help and welcome to Git development community. > But > > (1) Please double-check the title of your change. Imagine that the > title appears in a list of 600 other commits that goes in a > single release in "git shortlog --no-merges" output. Does it > tell readers of the list what the change is about? We cannot > even guess that it is about the project list that appears in > gitweb output. > > (2) Please explain what problem this is trying to solve; that is > what the blank space before "---" line we see up above is for. > What happens in the current code under what condition, until we > do not apply this patch, and why is it a bad thing to happen? > Once we apply this patch, in what way the situation gets > improved? > > (3) Please sign-off your patch (see SubmittingPatches in > Documentation). > > Thanks. > >> >> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl >> index 3d4a8ee27c96a..9208f42ed1753 100755 >> --- a/gitweb/gitweb.perl >> +++ b/gitweb/gitweb.perl >> @@ -3071,6 +3071,8 @@ sub git_get_projects_list { >> return if (m!^[/.]$!); >> # only directories can be git repositories >> return unless (-d $_); >> + # need search permission >> + return unless (-x $_); >> # don't traverse too deep (Find is super slow on os x) >> # $project_maxdepth excludes depth of $projectroot >> if (($File::Find::name =~ tr!/!!) - $pfxdepth > $project_maxdepth) { >> >> -- >> https://github.com/git/git/pull/384