-
Notifications
You must be signed in to change notification settings - Fork 8
Clone the main MPI standards document repo
Previous: Access to the MPI Forum private repository
Next: Fork the MPI Forum mpi standard repo (on GitHub)
Once you have been granted access to the mpi-forum/mpi-standard
repository, and after you have authenticated to GitHub, you can clone the primary MPI Forum repository for the MPI standard document to our local machine. This gives us a complete local copy of the repository and its history:
$ git clone git@github.com:mpi-forum/mpi-standard.git
Cloning into 'mpi-standard'...
remote: Counting objects: 4482, done.
remote: Total 4482 (delta 0), reused 0 (delta 0), pack-reused 4482
Receiving objects: 100% (4482/4482), 64.54 MiB | 1.39 MiB/s, done.
Resolving deltas: 100% (2471/2471), done.
Checking connectivity... done.
# Once you have cloned the repo, cd into the directory to see
# all the files that have been checked out.
$ cd mpi-standard
This clone operation made a complete copy of the mpi-forum/mpi-standard
repo, and added a git remote named origin
back to the repository. A git remote is simply a little meta data specifying where the upstream repository is -- it allows the git
command to know where to talk when you push and pull data upstream.
$ git remote -v
origin git@github.com:mpi-forum/mpi-standard.git (fetch)
origin git@github.com:mpi-forum/mpi-standard.git (push)
By default, you will now have checked out the current branch of the MPI Standard (3.x as of this writing). You can tell this by running a simple command:
$ git branch
* mpi-3.x
I prefer to have each remote in my working copy have a useful name, so I rename the main MPI Forum remote:
$ git remote rename origin mpi-standard
$ git remote -v
mpi-standard git@github.com:mpi-forum/mpi-standard.git (fetch)
mpi-standard git@github.com:mpi-forum/mpi-standard.git (push)
If you participate in working groups in addition to the main MPI Forum, you may want to add a git remote for each working group's git repository, too. Adding these remotes will allow you to interact with those working group repos in addition to the main MPI Forum git repo.
Below, we show how to add a git remote for the Fault Tolerance Working Group. You can find your working group's git repository from the main wiki page.
# Add a remote for the Fault Tolerance Working group named "ftwg".
# Get the URL for each WG repo that you use from their Github
# organization repo page.
$ git remote add ftwg git@github.com:mpiwg-ft/mpi-standard.git
# Notice that you now have remotes for "ftwg" and "mpi-standard" -- meaning
# that you can push and pull to both of these repos from your clone.
$ git remote -v
ftwg git@github.com:mpiwg-ft/mpi-standard.git (fetch)
ftwg git@github.com:mpiwg-ft/mpi-standard.git (push)
mpi-standard git@github.com:mpi-forum/mpi-standard.git (fetch)
mpi-standard git@github.com:mpi-forum/mpi-standard.git (push)
Once this remote has been added, let's fetch all available data from the ftwg
remote:
$ git fetch ftwg
remote: Counting objects: 1615, done.
remote: Total 1615 (delta 169), reused 169 (delta 169), pack-reused 1446
Receiving objects: 100% (1615/1615), 3.35 MiB | 2.88 MiB/s, done.
Resolving deltas: 100% (982/982), completed with 46 local objects.
From github.com:mpiwg-ft/mpi-standard
* [new branch] cleanup-errhandlers -> ftwg/cleanup-errhandlers
* [new branch] cleanup-free -> ftwg/cleanup-free
* [new branch] errors-abort -> ftwg/errors-abort
* [new branch] free-advice -> ftwg/free-advice
* [new branch] mpi-1.x -> ftwg/mpi-1.x
* [new branch] mpi-2.x -> ftwg/mpi-2.x
* [new branch] mpi-3.x -> ftwg/mpi-3.x
* [new branch] ulfm/ishrink -> ftwg/ulfm/ishrink
* [new branch] ulfm/master -> ftwg/ulfm/master
* [new branch] ulfm/rma-flushadvice -> ftwg/ulfm/rma-flushadvice
Note, too, that you can git fetch --all
, which will fetch all data from all remotes.
Previous: Access to the MPI Forum private repository
Next: Fork the MPI Forum mpi standard repo (on GitHub)