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

News

mr 0.35 released with these changes

  • Warn if an include command fails nonzero. Closes: #495306
  • Remove stray character in pod that uglified man page. Closes: #495731
  • Create ~/.mrlog not world readable.
  • Pass additional options to darcs push when pushing. Closes: #495734
Posted Thursday afternoon, October 16th, 2008

mr 0.34 released with these changes

  • Fix bug when remembering failed commands in offline mode.
Posted at lunch time on Saturday, August 2nd, 2008

mr 0.33 released with these changes

  • Add a push subcommand, which pushes committed changes for DCVS, and does nothing for svn/cvs. Closes: #491865
Posted Tuesday afternoon, July 22nd, 2008