X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/da4251ccfad6a4ea83fcc21a70f7f7dd26e5fa55..3d2a8945576fea043684b12847ed647171111874:/mr diff --git a/mr b/mr index 95a7fe8..44fb671 100755 --- a/mr +++ b/mr @@ -146,6 +146,11 @@ Be verbose. Expand the statistics line displayed at the end to include information about exactly which repositories failed and were skipped, if any. +=item -n + +Just operate on the repository for the current directory, do not +recurse into deeper repositories. + =back =head1 FILES @@ -259,6 +264,7 @@ $ENV{MR_CONFIG}="$ENV{HOME}/.mrconfig"; my $directory=getcwd(); my $verbose=0; my $stats=0; +my $no_recurse=0; my %config; my %knownactions; my %alias; @@ -269,6 +275,7 @@ my $result=GetOptions( "c|config=s" => sub { $ENV{MR_CONFIG}=abs_path($_[1]) }, "v|verbose" => \$verbose, "s|stats" => \$stats, + "n|no-recurse" => \$no_recurse, ); if (! $result || @ARGV < 1) { die("Usage: mr [-d directory] action [params ...]\n". @@ -362,7 +369,8 @@ foreach my $topdir (sort keys %config) { my $d=$directory; $dir.="/" unless $dir=~/\/$/; $d.="/" unless $d=~/\/$/; - next if $dir ne $directory && $dir !~ /^\Q$directory\E/; + next if $no_recurse && $d ne $dir; + next if $dir ne $d && $dir !~ /^\Q$d\E/; push @repos, [$dir, $topdir, $subdir]; } }