Merge branch 'hb/gitweb-project-list'
authorJunio C Hamano <gitster@pobox.com>
Fri, 11 Aug 2017 20:27:01 +0000 (13:27 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 11 Aug 2017 20:27:01 +0000 (13:27 -0700)
When a directory is not readable, "gitweb" fails to build the
project list. Work this around by skipping such a directory.

* hb/gitweb-project-list:
gitweb: skip unreadable subdirectories

1  2 
gitweb/gitweb.perl
diff --combined gitweb/gitweb.perl
index 3d4a8ee27c96a8e1eb94f95771aeca7825f8a076,8318411b9123415a9af9cd514c2ae6169d546c38..9208f42ed1753530b8ea46761f8ecc61bbe95976
@@@ -3071,6 -3071,8 +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) {
        return @list;
  }
  
 -# written with help of Tree::Trie module (Perl Artistic License, GPL compatibile)
 +# written with help of Tree::Trie module (Perl Artistic License, GPL compatible)
  # as side effects it sets 'forks' field to list of forks for forked projects
  sub filter_forks_from_projects_list {
        my $projects = shift;
@@@ -4376,7 -4378,7 +4378,7 @@@ sub git_print_page_nav 
              "</div>\n";
  }
  
 -# returns a submenu for the nagivation of the refs views (tags, heads,
 +# returns a submenu for the navigation of the refs views (tags, heads,
  # remotes) with the current view disabled and the remotes view only
  # available if the feature is enabled
  sub format_ref_views {