Architecture: all
Section: utils
Depends:
-Suggests: subversion, git-core, cvs, bzr, mercurial
+Suggests: subversion, git-core, cvs, bzr, mercurial, darcs
Description: a Multiple Repository management tool
The mr(1) command can checkout, update, or perform other actions on
a set of repositories as if they were one combined respository. It
- supports any combination of subversion, git, cvs, bzr, and mercurial
- repositories, and support for other revision control systems can easily
- be added.
+ supports any combination of subversion, git, cvs, mecurial,
+ bzr and darcs repositories, and support for other revision control systems
+ can easily be added.
.
It is extremely configurable via simple shell scripting. Some examples
of things it can do include:
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
-respository. It supports any combination of subversion, git, cvs, mecurial and
-bzr repositories, and support for other revision control systems can easily be
-added.
+respository. It supports any combination of subversion, git, cvs, mecurial,
+bzr and darcs repositories, and support for other revision control systems can
+easily be added.
B<mr> cds into and operates on all registered repositories at or below your
working directory. Or, if you are in a subdirectory of a repository that
if [ -z "$1" ] || [ -z "$2" ]; then
error "mr: usage: hours_since action num"
fi
- for dir in .git .svn .bzr CVS .hg; do
+ for dir in .git .svn .bzr CVS .hg _darcs; do
if [ -e "$MR_REPO/$dir" ]; then
flagfile="$MR_REPO/$dir/.mr_last$1"
break
cvs update "$@"
elif [ -d "$MR_REPO"/.hg ]; then
hg pull "$@" && hg update "$@"
+ elif [ -d "$MR_REPO"/_darcs ]; then
+ darcs pull "$@"
else
error "unknown repo type"
fi
cvs status "$@"
elif [ -d "$MR_REPO"/.hg ]; then
hg status "$@"
+ elif [ -d "$MR_REPO"/_darcs ]; then
+ darcs whatsnew -ls "$@"
else
error "unknown repo type"
fi
cvs commit "$@"
elif [ -d "$MR_REPO"/.hg ]; then
hg commit -m "$@" && hg push
+ elif [ -d "$MR_REPO"/_darcs ]; then
+ darcs commit -m "$@" && darcs push
else
error "unknown repo type"
fi
cvs diff "$@"
elif [ -d "$MR_REPO"/.hg ]; then
hg diff "$@"
+ elif [ -d "$MR_REPO"/_darcs ]; then
+ darcs diff "$@"
else
error "unknown repo type"
fi
cvs log "$@"
elif [ -d "$MR_REPO"/.hg ]; then
hg log "$@"
+ elif [ -d "$MR_REPO"/_darcs ]; then
+ darcs changes "$@"
else
error "unknown repo type"
fi
echo "Registering mercurial repo url: $url in $MR_CONFIG"
mr -c "$MR_CONFIG" config "$(pwd)" \
checkout="hg clone $url $basedir"
+ elif [ -d _darcs ]; then
+ url=$(cat _darcs/prefs/defaultrepo)
+ echo "Registering darcs repository $url in $MR_CONFIG"
+ mr -c "$MR_CONFIG" config "$(pwd)" \
+ checkout="darcs get $url $basedir"
else
error "unable to register this repo type"
fi