that defines the repo being acted on, or, if the repo is not yet in a config
file, the .mrconfig file that should be modified to register the repo.
+The "MR_ACTION" environment variable is set to the command being run
+(update, checkout, etc).
+
A few parameters have special meanings:
=over 4
(included in mr's built-in library) to skip updating the repo unless it's
been at least 12 hours since the last update.
+ [mystuff]
+ checkout = ...
skip = test `whoami` != joey
+
+ [linux]
+ checkout = ...
skip = [ "$1" = update ] && ! hours_since "$1" 12
+
+Another way to use skip is for a lazy checkout. This makes mr skip
+operating on a repo unless it already exists. To enable the
+repo, you have to explicitly check it out (using "mr -d foo checkout").
+
+ [foo]
+ checkout = ...
+ skip = lazy
=item order
Unlike all other parameters, this parameter does not need to be placed
within a section.
+B<mr> ships several libraries that can be included to add support for
+additional version control type things (unison, git-svn, vcsh, git-fake-bare,
+git-subtree). To include them all, you could use:
+
+ include = cat /usr/share/mr/*
+
+See the individual files for details.
+
=item deleted
If the "deleted" parameter is set and its command returns true, then
my $is_update=($action =~ /update/);
$ENV{MR_REPO}=$dir;
+ $ENV{MR_ACTION}=$action;
foreach my $testname ("skip", "deleted") {
my $testcommand=findcommand($testname, $dir, $topdir, $subdir, $is_checkout);
is_bzr_checkout() {
LANG=C bzr info | egrep -q '^Checkout'
}
+ lazy() {
+ if [ "$MR_ACTION" = checkout ] || [ -d "$MR_REPO" ]; then
+ return 1
+ else
+ return 0
+ fi
+ }
svn_test = test -d "$MR_REPO"/.svn
git_test = test -d "$MR_REPO"/.git