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, mecurial, bzr and darcs repositories, and support for other revision control systems can easily be added. (There are extensions adding support for unison and git-svn.)
It is extremely configurable via simple shell scripting. Some examples of things it can do include:
- Update a repository no more frequently than once every twelve hours.
- Run an arbitrary command before committing to a repository.
- When updating a git repository, pull from two different upstreams and merge the two together.
- Run several repository updates in parallel, greatly speeding up the update process.
mr is available in git at git://git.kitenet.net/mr, or
in gitweb. It's recently been added to
Debian. If you want a tarball, the best place to get one if from
http://packages.debian.org/unstable/source/mr.
News
mr 0.28 released with these changes
- Use debhelper v7, rules file minimisation.
- Add a Makefile.
mr 0.27 released with these changes
- Ignore exit code from darcs whatsnew, which can be nonzero if there are no changes. Closes: #476650
mr 0.26 released with these changes
- Add -i option to start a shell if an operation fails. Closes: #474962