]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.perl
gitweb: prepare git_get_projects_list for use outside 'forks'.
[Gitweb] / gitweb.perl
index 28748c8e214e676bdb50110e5f8252adfa99a973831b4f860d7dd68a0e03e50b..843b0b569ba4490ba85ae421cd6071fdf0c0916abf62d4b209befc292b4029eb 100755 (executable)
@@ -2830,6 +2830,7 @@ sub git_get_project_url_list {
 
 sub git_get_projects_list {
        my $filter = shift || '';
+       my $paranoid = shift;
        my @list;
 
        if (-d $projects_list) {
@@ -2840,7 +2841,7 @@ sub git_get_projects_list {
                my $pfxlen = length("$dir");
                my $pfxdepth = ($dir =~ tr!/!!);
                # when filtering, search only given subdirectory
-               if ($filter) {
+               if ($filter && !$paranoid) {
                        $dir .= "/$filter";
                        $dir =~ s!/+$!!;
                }
@@ -2865,6 +2866,10 @@ sub git_get_projects_list {
                                }
 
                                my $path = substr($File::Find::name, $pfxlen + 1);
+                               # paranoidly only filter here
+                               if ($paranoid && $filter && $path !~ m!^\Q$filter\E/!) {
+                                       next;
+                               }
                                # we check related file in $projectroot
                                if (check_export_ok("$projectroot/$path")) {
                                        push @list, { path => $path };
This page took 0.256906 seconds and 4 git commands to generate.