X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FConfig%2FDefault.pm;h=fc3152a74dcb1c81c7f1b48ce14efa682c60aabe;hb=cb9eb6a59510dcfb9aaf05e09d2612aa0a9e18e3;hp=147241863f909fcee69964360f45c24b16448e74;hpb=caf4ff14ac06ea364ea51f725d041fd715e9682f;p=perl%2Fmodules%2Frgit.git diff --git a/lib/App/Rgit/Config/Default.pm b/lib/App/Rgit/Config/Default.pm index 1472418..fc3152a 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 ]; } @@ -57,6 +60,8 @@ sub repos { L. +L. + =head1 AUTHOR Vincent Pit, C<< >>, L.