Open MPI logo

Source Code Access: Obtaining a Mercurial Clone

  |   Home   |   Support   |   FAQ   |  

This page is for developers who want to work on the internals of Open MPI itself.
If you are a general user or system administrator looking to simply download and install Open MPI, please click here.


Open MPI provides a official mirror of its entire public Subversion tree (including all tags and branches) in a Mercurial repository. It is updated at least once an hour. The mirror is "one-way" -- pushing upstream is disallowed. This repository is mainly for third parties who want to fork Open MPI but want a convenient mechanism to stay up-to-date with Open MPI's development.

If you are a general Open MPI developer and simply want to use Mercurial instead of Subversion, see this wiki page for instructions on how to use Mercurial to push and pull from the main Subversion repository.

  1. First, you will need a Mercurial client. We recommend getting the latest version available. If you do not have the command "hg" in your path, you will likely need to download and install Mercurial.
  2. The Open MPI Mercurial SVN mirror is hosted at Atlassian Bitbucket: https://bitbucket.org/ompiteam/ompi-svn-mirror.
  3. Use the above URL with the "hg clone" command to clone the repository. For example (as of August, 2012):

    shell$ hg clone https://bitbucket.org/ompiteam/ompi-svn-mirror
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 20505 changesets with 118541 changes to 23927 files (+11 heads)
    updating to branch default
    6784 files updated, 0 files merged, 0 files removed, 0 files unresolved
    shell$

  4. The web interface available by clicking on the above URL shows a nice summary of recent activity and allows navigating into individual commits.
  5. Once you have successfully cloned the repository, continue on to the instructions on how to build from a developer checkout.

Note that Mercurial is natively capable of using many forms of web proxies. If your network setup requires the user of a web proxy, consult the Mercurial documentation for more details.