#use Data::Dumper;
#print Dumper(\%config);
+# alias expansion and command stemming
my $action=shift @ARGV;
if (! exists $knownactions{$action}) {
if (exists $alias{$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) {
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);
}
else {
push @successful, $dir;
}
+
+ print "\n" unless $first;
+ $first=0;
}
}
}
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"),
}
update = \
if [ -d .svn ]; then \
- svn update; \
+ svn update "$@"; \
elif [ -d .git ]; then \
- git pull origin master; \
+ git pull origin master "$@"; \
else \
error "unknown repo type"; \
fi
status = \
if [ -d .svn ]; then \
- svn status; \
+ svn status "$@"; \
elif [ -d .git ]; then \
- git status || true; \
+ git status "$@" || true; \
else \
error "unknown repo type"; \
fi