]>
git.madduck.net Git - code/myrepos.git/blobdiff - mr
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
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.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
B<mr> is a Multiple Repository management tool. It can checkout, update, or
perform other actions on a set of repositories as if they were one combined
B<mr> is a Multiple Repository management tool. It can checkout, update, or
perform other actions on a set of repositories as if they were one combined
-res pository. It supports any combination of subversion, git, cvs, mecurial,
+repository. It supports any combination of subversion, git, cvs, mecurial,
bzr and darcs repositories, and support for other revision control systems can
easily be added.
bzr and darcs repositories, and support for other revision control systems can
easily be added.
-Actions can be abbreviated to any unambiguous subsc tring, so
-"mr st" is equivilant to "mr status", and "mr up" is equivila nt to "mr
+Actions can be abbreviated to any unambiguous substring, so
+"mr st" is equivalent to "mr status", and "mr up" is equivale nt to "mr
update"
Additional parameters can be passed to most commands, and are passed on
update"
Additional parameters can be passed to most commands, and are passed on
=item -s
Expand the statistics line displayed at the end to include information
=item -s
Expand the statistics line displayed at the end to include information
# configurables
my $config_overridden=0;
my $verbose=0;
# configurables
my $config_overridden=0;
my $verbose=0;
my $stats=0;
my $max_depth;
my $no_chdir=0;
my $stats=0;
my $max_depth;
my $no_chdir=0;
}
else {
if (! $no_chdir) {
}
else {
if (! $no_chdir) {
- print "mr $action: $topdir$subdir\n";
+ print "mr $action: $topdir$subdir\n" unless $quiet ;
}
else {
my $s=$directory;
$s=~s/^\Q$topdir$subdir\E\/?//;
}
else {
my $s=$directory;
$s=~s/^\Q$topdir$subdir\E\/?//;
- print "mr $action: $topdir$subdir (in subdir $s)\n";
+ print "mr $action: $topdir$subdir (in subdir $s)\n" unless $quiet ;
}
$command="set -e; ".$lib.
"my_action(){ $command\n }; my_action ".
}
$command="set -e; ".$lib.
"my_action(){ $command\n }; my_action ".
showstat($#ok+1, "ok", "ok"),
showstat($#failed+1, "failed", "failed"),
showstat($#skipped+1, "skipped", "skipped"),
showstat($#ok+1, "ok", "ok"),
showstat($#failed+1, "failed", "failed"),
showstat($#skipped+1, "skipped", "skipped"),
if ($stats) {
if (@skipped) {
if ($stats) {
if (@skipped) {
- print "mr $action: (skipped: ".join(" ", @skipped).")\n";
+ print "mr $action: (skipped: ".join(" ", @skipped).")\n" unless $quiet ;
}
if (@failed) {
print STDERR "mr $action: (failed: ".join(" ", @failed).")\n";
}
if (@failed) {
print STDERR "mr $action: (failed: ".join(" ", @failed).")\n";
"d|directory=s" => sub { $directory=abs_path($_[1]) },
"c|config=s" => sub { $ENV{MR_CONFIG}=$_[1]; $config_overridden=1 },
"v|verbose" => \$verbose,
"d|directory=s" => sub { $directory=abs_path($_[1]) },
"c|config=s" => sub { $ENV{MR_CONFIG}=$_[1]; $config_overridden=1 },
"v|verbose" => \$verbose,
"s|stats" => \$stats,
"n|no-recurse:i" => \$max_depth,
"j|jobs:i" => \$jobs,
"s|stats" => \$stats,
"n|no-recurse:i" => \$max_depth,
"j|jobs:i" => \$jobs,
test "`GIT_CONFIG="$MR_REPO"/config git config --get core.bare`" = true
svn_update = svn update "$@"
test "`GIT_CONFIG="$MR_REPO"/config git config --get core.bare`" = true
svn_update = svn update "$@"
-git_update = if [ "$@" ]; then git pull "$@"; else git pull -t origin master; fi
+git_update =
+ if [ "$@" ]; then
+ git pull "$@"
+ else
+ git pull
+ fi
bzr_update = bzr merge "$@"
cvs_update = cvs update "$@"
hg_update = hg pull "$@" && hg update "$@"
bzr_update = bzr merge "$@"
cvs_update = cvs update "$@"
hg_update = hg pull "$@" && hg update "$@"
bzr_diff = bzr diff "$@"
cvs_diff = cvs diff "$@"
hg_diff = hg diff "$@"
bzr_diff = bzr diff "$@"
cvs_diff = cvs diff "$@"
hg_diff = hg diff "$@"
-darcs_diff = darcs diff "$@"
+darcs_diff = darcs diff -u "$@"
svn_log = svn log "$@"
git_log = git log "$@"
svn_log = svn log "$@"
git_log = git log "$@"
if [ ! -e "$MR_PATH" ]; then
error "cannot find program path"
fi
if [ ! -e "$MR_PATH" ]; then
error "cannot find program path"
fi
- (pod2man -c mr "$MR_PATH" | man -l -) || error "pod2man or man failed"
+ tmp=$(mktemp -t mr.XXXXXXXXXX) || error "mktemp failed"
+ trap "rm -f $tmp" exit
+ pod2man -c mr "$MR_PATH" > "$tmp" || error "pod2man failed"
+ man -l "$tmp" || error "man failed"