X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/2359ca6904c1b268ace92ee0306539c779eff8e8..f3e4e5d7a71887dbaa32d33a2e3b376b311fa1a8:/mr diff --git a/mr b/mr index 6c59683..f26b144 100755 --- a/mr +++ b/mr @@ -175,6 +175,7 @@ loadconfig($config); #use Data::Dumper; #print Dumper(\%config); +# alias expansion and command stemming my $action=shift @ARGV; if (! exists $knownactions{$action}) { if (exists $alias{$action}) { @@ -192,6 +193,15 @@ if (! exists $knownactions{$action}) { } } +# handle being in a subdir of a repository +foreach my $topdir (sort keys %config) { + foreach my $subdir (sort keys %{$config{$topdir}}) { + if ($directory =~ /^\Q$topdir$subdir\E\//) { + $directory=$topdir.$subdir; + } + } +} + my (@failed, @successful, @skipped); my $first=1; foreach my $topdir (sort keys %config) { @@ -203,14 +213,9 @@ foreach my $topdir (sort keys %config) { if (defined $directory && $dir ne $directory && $dir !~ /^\Q$directory\E\//) { - print "mr $action: $dir skipped per -d parameter ($directory)\n" if $verbose; - push @skipped, $dir; next; } - print "\n" unless $first; - $first=0; - action($action, $dir, $topdir, $subdir); } @@ -273,6 +278,9 @@ sub action { else { push @successful, $dir; } + + print "\n" unless $first; + $first=0; } } @@ -285,7 +293,8 @@ sub showstat { } return; } -print "\nmr $action: finished (".join("; ", +print "\n" unless $first; +print "mr $action: finished (".join("; ", showstat($#successful+1, "successful", "successful"), showstat($#failed+1, "failed", "failed"), showstat($#skipped+1, "skipped", "skipped"),