X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/8cfc9de1be353fe0ddf3f5dbd9d5b46f6d99abb1..3d2a8945576fea043684b12847ed647171111874:/mr?ds=sidebyside diff --git a/mr b/mr index e41264c..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,6 +369,7 @@ foreach my $topdir (sort keys %config) { my $d=$directory; $dir.="/" unless $dir=~/\/$/; $d.="/" unless $d=~/\/$/; + next if $no_recurse && $d ne $dir; next if $dir ne $d && $dir !~ /^\Q$d\E/; push @repos, [$dir, $topdir, $subdir]; }