X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=bin%2Frgit;h=cb9d31e115d082fac774bb39b855d7a69dd015dd;hp=3b908b4fe1f74255f52290b10797e08a7e2f18c4;hb=HEAD;hpb=dc668e3c302569ed2b5eb2ed893247308f22528a diff --git a/bin/rgit b/bin/rgit index 3b908b4..cb9d31e 100755 --- a/bin/rgit +++ b/bin/rgit @@ -3,18 +3,17 @@ use strict; use warnings; -use Carp qw/croak/; -use Config qw/%Config/; -use Cwd qw/cwd/; -use File::Spec::Functions qw/catfile path/; +use Carp qw; +use Config qw<%Config>; +use Cwd qw; use App::Rgit; -use App::Rgit::Utils qw/:levels/; +use App::Rgit::Utils qw<:levels>; use App::Rgit::Policy; our $VERSION; BEGIN { - $VERSION = '0.06'; + $VERSION = '0.08'; } my %opts; @@ -36,32 +35,17 @@ if (-t && $opts{I}) { } elsif ($opts{K}) { $policy = 'Keep'; } -$policy = eval { App::Rgit::Policy->new(name => $policy) }; +$policy = eval { App::Rgit::Policy->new(policy => $policy) }; if (not defined $policy) { print STDERR $@ if $@; - $policy = App::Rgit::Policy->new(name => 'Default'); + $policy = App::Rgit::Policy->new(policy => 'Default'); } setpgrp 0, 0 if $Config{d_setpgrp}; -my $git = $ENV{GIT_EXEC_PATH}; -unless (defined $git) { - for (path) { - my $g = catfile $_, 'git'; - if (-x $g) { - $git = $g; - last; - } - } -} -croak "Couldn't find any valid git executable" unless defined $git; - -my $root = $ENV{GIT_DIR}; -$root = cwd unless defined $root; - my $ar = App::Rgit->new( - git => $git, - root => $root, + git => undef, # Autodiscovery + root => undef, # Autodiscovery cmd => $cmd, args => \@ARGV, policy => $policy, @@ -80,7 +64,7 @@ rgit - Recursively execute a command on all the git repositories in a directory =head1 VERSION -Version 0.06 +Version 0.08 =head1 SYNOPSIS @@ -89,6 +73,8 @@ Version 0.06 =head1 DESCRIPTION This utility recursively searches in a root directory (which may be the current working directory or - if it has been set - the directory given by the C environment variable) for all git repositories, sort this list by the repository path, C into each of them, and executes the specified git command. +For efficiency reasons, repositories located inside a bare repository or under the F<.git> directory of a work repository won't be searched for. + Moreover, those formats are substituted in the arguments before running the command : =over 4 @@ -189,19 +175,18 @@ Add a remote to all repositories in "/foo/bar" to their bare counterpart in C, L, L, L, L, L and L. - -L. +The core modules L, L, L, L, L, L and L. =head1 AUTHOR Vincent Pit, C<< >>, L. - + You can contact me by mail or on C (vincent). =head1 BUGS -Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. +Please report any bugs or feature requests to C, or through the web interface at L. +I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT @@ -213,7 +198,7 @@ Tests code coverage report is available at L