]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Config/Default.pm
Don't chdir() when searching for git repositories
[perl/modules/rgit.git] / lib / App / Rgit / Config / Default.pm
index 147241863f909fcee69964360f45c24b16448e74..028e106a2302f351a47dd0e0393c1aa4fde4f70a 100644 (file)
@@ -43,12 +43,14 @@ sub repos {
  my %repos;
  find {
   wanted => sub {
-   return unless -d $_;
-   my $r = App::Rgit::Repository->new(dir => $File::Find::name);
+   return if m{(?:^|/)\.\.?$}
+          or not (-d $_ and -r _);
+   my $r = App::Rgit::Repository->new(dir => $_);
    $repos{$r->repo} = $r if $r
                          and not exists $repos{$r->repo};
   },
-  follow => 1
+  follow   => 1,
+  no_chdir => 1,
  }, $self->root;
  $self->{repos} = [ sort { $a->repo cmp $b->repo } values %repos ];
 }