X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FApp%2FRgit%2FConfig%2FDefault.pm;h=cd2160b9aa7c2f070899dab97d27bbef62cfa032;hb=3051ac76178c03ab7a6e1c1e87a2533a84a738b7;hp=5917d790d7201f9f4d0ebb6620e421228e0c1c0b;hpb=19bee8f647bfe6c94c5cb3cf6a60d7a43cbca222;p=perl%2Fmodules%2Frgit.git diff --git a/lib/App/Rgit/Config/Default.pm b/lib/App/Rgit/Config/Default.pm index 5917d79..cd2160b 100644 --- a/lib/App/Rgit/Config/Default.pm +++ b/lib/App/Rgit/Config/Default.pm @@ -15,11 +15,11 @@ App::Rgit::Config::Default - Default App::Rgit configuration class. =head1 VERSION -Version 0.01 +Version 0.06 =cut -our $VERSION = '0.01'; +our $VERSION = '0.06'; =head1 DESCRIPTION @@ -43,15 +43,17 @@ sub repos { my %repos; find { wanted => sub { - return unless -d $_; - return if $_ eq '.' or $_ eq '..'; - 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} = [ values %repos ]; + $self->{repos} = [ sort { $a->repo cmp $b->repo } values %repos ]; } =head1 SEE ALSO @@ -76,7 +78,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2008 Vincent Pit, all rights reserved. +Copyright 2008-2009 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.