Contributions

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)
The repository RepoName (see the list above) can be copied, aka cloned, to LocalName (see the list above) by changing to the parent directory that will contain LocalName and executing the following command:
hg clone http://mercurial.mcs.anl.gov/ad/RepoName LocalName
Note: 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
./openadUpdate -det  
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 clone location) 
hg pull http://mercurial.mcs.anl.gov/ad/RepoName
hg update

Because the repositories listed above are read access only, external contributions have to be submitted as bundles. Assuming one 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.