Herramienta para gestionar todos los repositorios de control de versiones entrados en el sistema. El comando mr permite extraer, actualizar o realizar otras acciones en un conjunto de repositorios como si fueran uno solo en lugar de ir repositorio por repositorio ejecutando comandos. Admite cualquier combinación de repositorios Git, SVN, Mercurial, BZR, Darcs, CVS, VCSH, Fossil y Veracity. Incluye la herramienta webcheckout
Imaginemos que tenemos tres repositorios en el directorio ~/projects y cada uno en un subdirectorio: proyecto1 para el repo de GIT, legacy-app para el repo Subversion y python-lib para el repo Mercurial:
$ nano ~/.mrconfig
[~/projects/proyecto1]
checkout = git clone git@github.com:usuario/proyecto1.git
[~/projects/legacy-app]
checkout = svn checkout https://svn.example.com/legacy-app/trunk
[~/projects/python-lib]
checkout = hg clone https://bitbucket.org/user/python-lib
$ mr update
$ mr -c ~/.mrconfig update
$ mr checkout
$ mr status
$ mr run git fetch
$ mr run git log --oneline -3
$ mr log
$ mr register
$ mr update proyecto1 legaxy-app
$ mr update -X proyecto1
$ webcheckout https://bitbucket.org/atlassian/bitbucket.git