]>
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:
open($in, "<", $f) || die "mr: open $f: $!\n";
}
my @lines=<$in>;
open($in, "<", $f) || die "mr: open $f: $!\n";
}
my @lines=<$in>;
+ close $in unless ref $f eq 'GLOB' ;
+sub startingconfig {
+ %alias=%config=%configfiles=%knownactions=%loaded=();
+ my $datapos=tell(DATA);
+ loadconfig(\*DATA);
+ seek(DATA,$datapos,0); # rewind
+}
+
sub modifyconfig {
my $f=shift;
# the section to modify or add
sub modifyconfig {
my $f=shift;
# the section to modify or add
move($tmpconfig, ".mrconfig") || die "rename: $!";
}
move($tmpconfig, ".mrconfig") || die "rename: $!";
}
- exec("mr $ENV{MR_SWITCHES} -c .mrconfig checkout");
- die "failed to run mr checkout";
+ # Reload the config file (in case we got a different version)
+ # and checkout everything else.
+ startingconfig();
+ loadconfig(".mrconfig");
+ dispatch("checkout");
+ @skipped=grep { abs_path($_) ne abs_path($topdir) } @skipped;
+ showstats("bootstrap");
+ exitstats();
}
# alias expansion and command stemming
}
# alias expansion and command stemming
$ENV{MR_PATH}=$Bin."/".$Script;
};
}
$ENV{MR_PATH}=$Bin."/".$Script;
};
}
+
+sub exitstats {
+ if (@failed) {
+ exit 1;
+ }
+ elsif (! @ok && @skipped) {
+ exit 1;
+ }
+ else {
+ exit 0;
+ }
+}
sub main {
getopts();
init();
sub main {
getopts();
init();
loadconfig($ENV{MR_CONFIG});
#use Data::Dumper; print Dumper(\%config);
my $action=expandaction(shift @ARGV);
dispatch($action);
loadconfig($ENV{MR_CONFIG});
#use Data::Dumper; print Dumper(\%config);
my $action=expandaction(shift @ARGV);
dispatch($action);
- if (@failed) {
- exit 1;
- }
- elsif (! @ok && @skipped) {
- exit 1;
- }
- else {
- exit 0;
- }
+ showstats($action);
+ exitstats();
}
# Finally, some useful actions that mr knows about by default.
}
# Finally, some useful actions that mr knows about by default.