All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
subdirectories to find repositories to act on.
+mr (0.15) UNRELEASED; urgency=low
+
+ * Allow -n to be passed a number to specify how deep to go into
+ subdirectories to find repositories to act on.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 25 Nov 2007 12:02:40 -0500
+
mr (0.14) unstable; urgency=low
* Portability fixes for the non-POSIX shell of SunOS 5. Patch from Ken
mr (0.14) unstable; urgency=low
* Portability fixes for the non-POSIX shell of SunOS 5. Patch from Ken
Expand the statistics line displayed at the end to include information
about exactly which repositories failed and were skipped, if any.
Expand the statistics line displayed at the end to include information
about exactly which repositories failed and were skipped, if any.
-Just operate on the repository for the current directory, do not
-recurse into deeper repositories.
+If no number if specified, just operate on the repository for the current
+directory, do not recurse into deeper repositories.
+
+If a number is specified, will recurse into repositories at most that many
+subdirectories deep. For example, with -n 2 it would recurse into ./src/foo,
+but not ./src/packages/bar.
my $config_overridden=0;
my $verbose=0;
my $stats=0;
my $config_overridden=0;
my $verbose=0;
my $stats=0;
my $no_chdir=0;
my $jobs=1;
my $directory=getcwd();
my $no_chdir=0;
my $jobs=1;
my $directory=getcwd();
my $d=$directory;
$dir.="/" unless $dir=~/\/$/;
$d.="/" unless $d=~/\/$/;
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/;
next if $dir ne $d && $dir !~ /^\Q$d\E/;
+ if (defined $max_depth) {
+ my @a=split('/', $dir);
+ my @b=split('/', $d);
+ do { } while (@a && @b && shift(@a) eq shift(@b));
+ next if @a > $max_depth || @b > $max_depth;
+ }
push @repos, [$dir, $topdir, $subdir];
}
if (! @repos) {
push @repos, [$dir, $topdir, $subdir];
}
if (! @repos) {
"c|config=s" => sub { $ENV{MR_CONFIG}=$_[1]; $config_overridden=1 },
"v|verbose" => \$verbose,
"s|stats" => \$stats,
"c|config=s" => sub { $ENV{MR_CONFIG}=$_[1]; $config_overridden=1 },
"v|verbose" => \$verbose,
"s|stats" => \$stats,
- "n|no-recurse" => \$no_recurse,
+ "n|no-recurse:i" => \$max_depth,
"j|jobs=i" => \$jobs,
);
if (! $result || @ARGV < 1) {
"j|jobs=i" => \$jobs,
);
if (! $result || @ARGV < 1) {