From: Dan Brook Date: Sun, 13 Mar 2011 13:02:16 +0000 (+0000) Subject: Reinstate FromDirectory in model. X-Git-Tag: 0.003001~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=07ee9dc18c21d8e9f378e45c7db8937a75ca64e5;hp=4a0a2afabdbeef0d1f353e5b4bba1553a8615af4;p=catagits%2FGitalist.git Reinstate FromDirectory in model. This was dropped when FromDirectoryRecursive was added. But seeing as how it has been the default behaviour for some time now search_recursively is enabled by default in gitalist_local.conf. --- diff --git a/gitalist_local.conf b/gitalist_local.conf index 5a445f7..87dbb01 100644 --- a/gitalist_local.conf +++ b/gitalist_local.conf @@ -4,7 +4,7 @@ # This file is suppressed from the built dist by MANIFEST.SKIP, so you # don't have this config if you install from CPAN. repo_dir __path_to(../)__ - # search_recursively 1 + search_recursively 1 # export_ok .export-ok # whitelist __path_to(../project.list)__ diff --git a/lib/Gitalist.pm b/lib/Gitalist.pm index b2a7746..69782dd 100644 --- a/lib/Gitalist.pm +++ b/lib/Gitalist.pm @@ -216,8 +216,9 @@ Path to the C binary. A directory containing the directories to show. -If no repositories are found in this directory then Gitalist will -search recursively in that directory for repositories. +=item repos + +A list of directories containing repositories to show. =item search_recursively @@ -247,7 +248,7 @@ visible. This is similar to C's functionality. =item log -The number of commits to show in the +The number of commits to show in the summary, shortlog and longlog views. =back diff --git a/lib/Gitalist/Model/CollectionOfRepos.pm b/lib/Gitalist/Model/CollectionOfRepos.pm index f631815..4c56173 100644 --- a/lib/Gitalist/Model/CollectionOfRepos.pm +++ b/lib/Gitalist/Model/CollectionOfRepos.pm @@ -95,9 +95,12 @@ sub build_per_context_instance { } elsif ($self->_repos_count && !$self->search_recursively) { $class = 'Gitalist::Git::CollectionOfRepositories::FromListOfDirectories'; $args{repos} = $self->repos; - } else { + } elsif($self->search_recursively) { $class = 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive'; $args{repo_dir} = $self->repo_dir; + } else { + $class = 'Gitalist::Git::CollectionOfRepositories::FromDirectory'; + $args{repo_dir} = $self->repo_dir; } return $class->new(%args); diff --git a/t/model_collectionofrepos.t b/t/model_collectionofrepos.t index 4db6713..51112cf 100644 --- a/t/model_collectionofrepos.t +++ b/t/model_collectionofrepos.t @@ -21,7 +21,7 @@ use Catalyst::Request; use Catalyst::Response; use Catalyst::Utils; use Gitalist::Model::CollectionOfRepos; -use File::Temp qw/tempdir/; +use File::Temp qw/tempdir tempfile/; my $mock_ctx_meta = Class::MOP::Class->create_anon_class( superclasses => ['Moose::Object'] ); $mock_ctx_meta->add_attribute($_, accessor => $_, required => 1) for qw/request response/; @@ -95,13 +95,8 @@ throws_ok { Gitalist::Model::CollectionOfRepos->COMPONENT($ctx_gen->(), { repos { my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib/repositories"}); - is scalar($i->repositories->flatten), 6, 'Found 6 repos'; -} - -{ - my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib"}); - is scalar($i->repositories->flatten), 6, 'Found 6 repos recursively'; - isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive'; + is scalar($i->repositories->flatten), 3, 'Found 6 repos'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectory'; } { @@ -109,6 +104,14 @@ throws_ok { Gitalist::Model::CollectionOfRepos->COMPONENT($ctx_gen->(), { repos is scalar($i->repositories->flatten), 6, 'Found 6 repos recursively using config'; isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive'; } + { + my($tempfh, $wl) = tempfile(UNLINK => 1); + print {$tempfh} "repo1"; + close $tempfh; + my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib/repositories", whitelist => $wl }); + is scalar($i->repositories->flatten), 1, 'Found 1 repos using whitelist'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectory::WhiteList'; +} { my $i = test_with_config({ repos => [ @@ -117,6 +120,7 @@ throws_ok { Gitalist::Model::CollectionOfRepos->COMPONENT($ctx_gen->(), { repos "$FindBin::Bin/lib/repositories/nodescription", ]}); is scalar($i->repositories->flatten), 3, 'Found 3 repos'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromListOfDirectories'; } sub test_with_config {