X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FConfig%2FDefault.pm;h=cd2160b9aa7c2f070899dab97d27bbef62cfa032;hb=3051ac76178c03ab7a6e1c1e87a2533a84a738b7;hp=543891c19ce2b5c522001d7cd8421fd08fa27e0f;hpb=787cc59d827d22afa8a3100daa42e5b9df3fe50d;p=perl%2Fmodules%2Frgit.git diff --git a/lib/App/Rgit/Config/Default.pm b/lib/App/Rgit/Config/Default.pm index 543891c..cd2160b 100644 --- a/lib/App/Rgit/Config/Default.pm +++ b/lib/App/Rgit/Config/Default.pm @@ -43,12 +43,15 @@ sub repos { my %repos; find { wanted => sub { - 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}; + } }, - follow => 1 + follow => 1, + no_chdir => 1, }, $self->root; $self->{repos} = [ sort { $a->repo cmp $b->repo } values %repos ]; }