Managing many git repositories

I highly recommend the multiple repositories tool mr. I used to use a custom shell script as recommended by others for some time, but using mr has the following benefits for me:

  • It’s generic: A conjunction of various version control systems can be used, not only git (e.g. Mercurial, SVN, etc.).
  • It’s fast: mr can execute multiple jobs in parallel. I use a number of git/mercurial repositories and sync them several times a day. Mr tremendously speeds up this process.
  • It’s easy and quick to manage the list of repository checkouts. Just use ‘mr register’ rather than modifying the list of projects in your custom script.

Regarding to your question about silent output: The level of verbosity can be modified using the command line switch -q. I prefer the default output which appears to nicely unify the output in a short and clear summary.

I use the following alias for the mr command to ensure that mr always picks up my default project list stored in $HOME, and uses 5 parallel threads:

alias mr="mr -d ~/ -j 5 "

Leave a Comment