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:

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 is from http://packages.debian.org/unstable/source/mr. Unofficial RPMs are provided by Douglas E. Warner.

News

mr 0.39 released with these changes

  • Determine current branch for fake-bare update (martin f. krafft)
Posted Monday night, March 9th, 2009

mr 0.38 released with these changes

  • Remove gitless lib. It turned out to be better to simply use git clone --shared when checking out. Sorry for the churn..
Posted Thursday afternoon, January 22nd, 2009

mr 0.37 released with these changes

  • Add "gitless" file to lib. This adds a special type of git repository, where the .git directory is stored on a file server, to avoid wasting space with it on the client.
  • Revert buggy change to directory printing code.
Posted late Tuesday night, January 21st, 2009