Luke Lu <git@xxxxxxxxxx> wrote: > Resubmitting patch after passing gitweb regression tests. ... > @@ -1519,6 +1524,11 @@ sub git_get_projects_list { > return if (m!^[/.]$!); > # only directories can be git repositories > return unless (-d $_); > + # don't traverse too deep (Find is super slow on os x) > + if (($File::Find::name =~ tr!/!!) - $pfxdepth > $project_maxdepth) { > + $File::Find::prune = 1; > + return; > + } Thanks. I'm squashing this into your patch. I'm not sure what the impact is of altering $File::Find::name in the middle of the find algorithm and I'm not sure we want to figure that out later. We found out the hard way today that altering a non-local'd $_ in the function is what was causing the breakage. diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 48e21da..9f47c3f 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1525,7 +1525,8 @@ sub git_get_projects_list { # only directories can be git repositories return unless (-d $_); # don't traverse too deep (Find is super slow on os x) - if (($File::Find::name =~ tr!/!!) - $pfxdepth > $project_maxdepth) { + local $_ = $File::Find::name; + if (tr!/!! - $pfxdepth > $project_maxdepth) { $File::Find::prune = 1; return; } -- Shawn. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html