From: Tomas Doran Date: Mon, 14 Nov 2011 23:18:42 +0000 (+0000) Subject: Get sane debugging info for the setup of everything X-Git-Tag: 0.003007~7 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FGitalist.git;a=commitdiff_plain;h=13c42902c178ccbb5d2e9fd174e06e8995490ff3 Get sane debugging info for the setup of everything --- diff --git a/lib/Gitalist/Git/CollectionOfRepositories.pm b/lib/Gitalist/Git/CollectionOfRepositories.pm index 4d8fd32..706f489 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories.pm @@ -6,6 +6,8 @@ role Gitalist::Git::CollectionOfRepositories with Gitalist::Git::Serializable { use Moose::Autobox; use aliased 'Gitalist::Git::Repository'; + requires 'debug_string'; + has repositories => ( is => 'ro', isa => ArrayRef['Gitalist::Git::Repository'], diff --git a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory.pm b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory.pm index 86ac402..4d46a5f 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory.pm @@ -12,6 +12,8 @@ class Gitalist::Git::CollectionOfRepositories::FromDirectory coerce => 1, ); + method debug_string { 'repository directory ' . $self->repo_dir } + method BUILD { # Make sure repo_dir is an absolute path so that # ->contains() works correctly. diff --git a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory/WhiteList.pm b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory/WhiteList.pm index 3ef203c..e78c9d3 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory/WhiteList.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectory/WhiteList.pm @@ -12,6 +12,8 @@ class Gitalist::Git::CollectionOfRepositories::FromDirectory::WhiteList coerce => 1, ); + method debug_string { 'repository directory ' . $self->repo_dir . ' whitelist file ' . $self->whitelist } + method _build_repositories { return [ map Gitalist::Git::Repository->new($_), diff --git a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectoryRecursive.pm b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectoryRecursive.pm index b23c949..a533c16 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories/FromDirectoryRecursive.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories/FromDirectoryRecursive.pm @@ -14,6 +14,8 @@ class Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive { coerce => 1, ); + method debug_string { 'repository directory ' . $self->repo_dir } + method BUILD { # Make sure repo_dir is an absolute path so that ->contains() works correctly. $self->repo_dir->resolve; diff --git a/lib/Gitalist/Git/CollectionOfRepositories/FromListOfDirectories.pm b/lib/Gitalist/Git/CollectionOfRepositories/FromListOfDirectories.pm index d17c492..4a55412 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories/FromListOfDirectories.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories/FromListOfDirectories.pm @@ -25,6 +25,8 @@ class Gitalist::Git::CollectionOfRepositories::FromListOfDirectories with Gitali }, ); + method debug_string { 'repository directories ' . join(" ", map { $_."" } $self->repos->flatten) } + method _build__repos_by_name { +{ map { basename($_) => dir($_) } $self->repos->flatten }; } diff --git a/lib/Gitalist/Git/CollectionOfRepositories/Vhost.pm b/lib/Gitalist/Git/CollectionOfRepositories/Vhost.pm index 8daf00c..dd12c12 100644 --- a/lib/Gitalist/Git/CollectionOfRepositories/Vhost.pm +++ b/lib/Gitalist/Git/CollectionOfRepositories/Vhost.pm @@ -45,6 +45,8 @@ class Gitalist::Git::CollectionOfRepositories::Vhost required => 1, ); + method debug_string { 'chosen collection ' . ref($self->chosen_collection) . " " . $self->chosen_collection->debug_string } + role_type 'Gitalist::Git::CollectionOfRepositories'; has chosen_collection => ( does => 'Gitalist::Git::CollectionOfRepositories', diff --git a/lib/Gitalist/Model/CollectionOfRepos.pm b/lib/Gitalist/Model/CollectionOfRepos.pm index e9e6fb4..090cb8c 100644 --- a/lib/Gitalist/Model/CollectionOfRepos.pm +++ b/lib/Gitalist/Model/CollectionOfRepos.pm @@ -115,9 +115,11 @@ sub build_per_context_instance { my $class = $self->class; - $ctx->log->debug("Using class '$class'") if $ctx->debug; + my $model = $class->new(%args); - return $class->new(%args); + $ctx->log->debug("Using class '$class' " . $model->debug_string) if $ctx->debug; + + return $model; } __PACKAGE__->meta->make_immutable;