ARC code is kept in the Subversion (a.k.a. SVN) repository. Consult the online book Version control with Subversion for details how to work with it in general.
The repository can be read or checked out anonymously via a variety of SVN client tools or browsers.
You may subscribe to SVN update notifications.
To get write-access to the repository, write to , and explain in some details what and why you'd like to contribute.
You need a Grid certificate (X509, issued by an IGTF-approved authority) in order to write to ARC code repository. Send the certificate subject name to
If you are not familiar with SVN, please read appropriate documentation.
You may use any SVN client tool: either a command-line one, or any existing GUI (TortoiseSVN, RapidSVN are tested; kdesvn does not seem to like pkcs12 certificates).
The repository root is located at https://svn.nordugrid.org/repos/nordugrid/
Several modules are available:
Each module has trunk, branches and tags. To check out a current trunk do e.g.:
svn co https://svn.nordugrid.org/repos/nordugrid/arc0/trunk arc0-trunk
NB: Anonymous check out from http://svn.nordugrid.org/... (note http versus https) is also possible, but you will not be able to commit later and will have to switch to https.
To commit, use https protocol. Most likely, you will need to configure your SVN client to locate your certificate. Locate servers files in your SVN client configuration (e.g. ~/.subversion/servers) and add the following:
[groups]
nordugrid = svn.nordugrid.org
[nordugrid]
ssl-authority-files = /etc/grid-security/certificates/1f0e8352.0
ssl-client-cert-file = /home/john/.globus/usercert.p12
Here 1f0e8352.0 is your issuer CA certificate, and usercert.p12 is your Grid certificate in pkcs12 format (see e.g. "Grid Certificate Mini How-to" on how to create it).
It is good practice not to go and change code in other peoples domain without consulting them first.
If you know the responsible person you can contact him/her directly. Otherwise please use the mailing list to discuss changes.
Adding files to the NorduGrid SVN can be a daring task, mostly because the repository also contains build structure, and smallest mistakes can cause nightly build crashing. Now is probably a good time to get acquainted with basic SVN and Autotools (Autoconf, Automake and Libtool). Most of the following describes good practice and standard SVN and Autotools procedures.
svn add myfile
Did you add a new executable? If so please write a man
page. You can use userinterface/man/ngsub.1
as a
template. Remember to add this file as well.
Some documents are produced from a source. For example a LaTeX
document example.tex
could be turned into a PDF
document. During the process of generating the document
several auxiliary files are created. They should be listed in
the appropriate Makefile.am
. Example:
CLEANFILES = example.aux example.log
This will remove the files when doing make
clean
. On the other hand the final documents (eg. PDF
files) should not be removed with this command. They should be
listed as:
MAINTAINERCLEANFILES = example.pdf
So that only a make maintainer-clean
command
will remove them. Also the final produced document should be
committed to SVN. In this way developers do not need to
re-create the documents when doing make
clean
. Remember to update the PDF file in SVN whenever
changes are made to the source file.
It is a very good custom to ensure that the nightly code build succeeds. Therefore you should check your modifications. Copy the whole tree to a temporary directory. Then go to this new copy and do:
$ cd nordugrid
$ ./bootstrap # (Autotools magic)
$ ./configure
$ make dist
If there were no errors you should have a
nordugrid-arc-VERSION.tar.gz
in the top-level
directory. To test the RPM package building do:
rpmbuild -ta nordugrid-arc-VERSION.tar.gz
This assumes that the standard RPM development is setup correctly. If this commands succeeds (writes a src.rpm file) you changes should be fine.
Go back to the checkout directory and commit the files in the usual way.