- return unless -d $_;
- my $r = App::Rgit::Repository->new(dir => $File::Find::name);
- $repos{$r->repo} = $r if $r
- and not exists $repos{$r->repo};
+ return if m{(?:^|/)\.\.?$}
+ or not (-d $_ and -r _);
+ if (my $r = App::Rgit::Repository->new(dir => $_)) {
+ $File::Find::prune = 1;
+ $repos{$r->repo} = $r unless exists $repos{$r->repo};
+ }