]> git.vpit.fr Git - perl/modules/rgit.git/commitdiff
Don't store the repos in the command, so that no search happen for Once commands
authorVincent Pit <vince@profvince.com>
Mon, 6 Oct 2008 14:19:26 +0000 (16:19 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 6 Oct 2008 14:19:26 +0000 (16:19 +0200)
lib/App/Rgit.pm
lib/App/Rgit/Command.pm
lib/App/Rgit/Command/Each.pm

index 1d1ee0f1b697089470605ab2a1a3ffb1e21a9612..38e4c38ab289f8c7813a4c0143d03af80c10cf7d 100644 (file)
@@ -42,13 +42,14 @@ sub new {
   git  => $args{git},
  );
  return unless defined $config;
+ my $command = App::Rgit::Command->new(
+  cmd  => $args{cmd},
+  args => $args{args},
+ );
+ return unless defined $command;
  $class->SUPER::new(
   config  => $config,
-  command => App::Rgit::Command->new(
-   cmd   => $args{cmd},
-   args  => $args{args},
-   repos => $config->repos,
-  )
+  command => $command,
  );
 }
 
index 51ac158edcbdf159480b7edb7e56373c300f2362..a73c9b4e688e2fb4e7cd2cd9505027327c6973fe 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use Carp qw/croak/;
 
-use Object::Tiny qw/cmd cwd_as_repo args repos/;
+use Object::Tiny qw/cmd cwd_as_repo args/;
 
 use App::Rgit::Utils qw/validate/;
 use App::Rgit::Repository;
@@ -30,9 +30,9 @@ This is an internal class to L<rgit>.
 
 =head1 METHODS
 
-=head2 C<< new cmd => $cmd, args => \@args, repos => \@repos >>
+=head2 C<< new cmd => $cmd, args => \@args >>
 
-Creates a new command object for C<$cmd> that will called for all repositories C<@repos> with arguments C<@args>.
+Creates a new command object for C<$cmd> that is bound to be called with arguments C<@args>.
 
 =cut
 
@@ -56,7 +56,6 @@ sub new {
  $class->SUPER::new(
   cmd         => $cmd,
   args        => $args{args} || [ ],
-  repos       => $args{repos},
   cwd_as_repo => $r,
  );
 }
@@ -88,8 +87,6 @@ sub action {
 
 =head2 C<args>
 
-=head2 C<repos>
-
 Accessors.
 
 =head2 C<run $conf>
index 155e9744ac37ffa1417b22537f3e294072c1f44c..2825ef67eed03bb6956cde4d6bd9e71f76adebc4 100644 (file)
@@ -35,10 +35,11 @@ It implements :
 
 sub run {
  my $self = shift;
+ my $conf = shift;
  my $status = 0;
- for (@{$self->repos}) {
+ for (@{$conf->repos}) {
   $_->chdir or next;
-  $status = $_->run($_[0], @{$self->args});
+  $status = $_->run($conf, @{$self->args});
   last if $status;
  }
  $self->cwd_as_repo->chdir;