Contributing to the source code of the OpenAD components is easily done with the mercurial version control tool.
While we rely on the ubiquity of subversion for distributing the "mainline" version of the OpenAD components
but we use Mercurial for our development because we consider if far superior for this purpose.
Therefore all details pertaining to the time line of source code changes are kept in the
respective Mercurial versions.
The set of files covered by the various repositories has the following hierarchy (note that some repositories are optional)
(see the list above) can be copied, aka cloned, to
(see the list above) by changing to the parent directory that will contain
and executing the following command:
hg clone http://mercurial.mcs.anl.gov/ad/RepoName LocalName
To make this setup easier it is sufficient to clone the OpenAD skeleton repository by running:
hg clone http://mercurial.mcs.anl.gov/ad/OpenAD
follow steps 1 and 2 under "Build Components"
to setup the environment and obtain the OpenAD components as mercurial repositories (where applicable, i.e. the
boost, xerces and Open64 are obtained from their respective default subversion servers) using
Subsequent updates can be
incrementally downloaded and applied by changing directory to LocalName
and running (the
URL part may be omitted if mercurial is configured to remember the
hg pull http://mercurial.mcs.anl.gov/ad/RepoName
Because the repositories listed above are read access only,
external contributions have to be submitted as bundles.
made a change in one's local repository and created a changeset
by committing that change (see the mercurial wiki
Instead of directly pushing that change onto the server one can create a bundle
hg bundle <file_name_of_the_bundle> http://mercurial.mcs.anl.gov/ad/LocalName
and then send the resulting file by e-mail
with some information which repository the bundle pertains to and
we can then evaluate the changes and apply them to the main repository.