QuantLib SVN Repository

Using Subversion

If you're new to Subversion, please read the free SVN book; you might want to start from the guided tour, which contains most of the information you need to get started.

Besides the technicalities of accessing the repository (covered in the SVN book) a few words of advice are needed regarding the policy for committing changes.

The main difference between Subversion and CVS is that in Subversion, commits are a single entity, even when committing files from different directories. Files no longer have revision numbers; instead, the whole repository is versioned and a revision number is assigned to each commit as a whole. In order to take advantage of this scheme, developers should take care of a few things, namely:

Repository access

The procedure for checking out the repository (or any module therein) is the same for developers and users. If you're using command-line tools, you can issue the command

svn checkout https://quantlib.svn.sourceforge.net/svnroot/quantlib/trunk

If you're using some other tool, the actual steps might vary; however, the same URL can be used. Passing such URL causes Subversion to check out a copy of all modules (recommended for developers;) users wanting to check out a single module (e.g., QuantLib for the core library) can do so by appending the module name to the repository URL, e.g.,

svn checkout https://quantlib.svn.sourceforge.net/svnroot/quantlib/trunk/QuantLib

Also, it is possible to browse the Subversion repository: this gives you a view into the current status of the project's code. You may also view the complete histories of any file in the repository.

Developer Access

The steps for checking out the repository are the same as for users. In addition, developers have the possibility to commit changes to the repository; authentication is performed upon commit by using the username option, as in:

svn commit --username=USER -m "A description of the changes being written"

where you'll have to replace USER by your Sourceforge username.

Note for C++ Unix users: if you use Subversion, you will need some GNU tools that usually only developers use, and which are not required to build QuantLib from tarballs. These are automake, autoconf, libtool, GNU m4, GNU make, and others which might escape me now. They all come with recent GNU/Linux distributions.

To begin the build process from a Subversion working copy, start with:

sh ./autogen.sh

which will prepare the package for compilation. You can then use ./configure and make in the usual way.


SVN commit messages

If you want to stay abreast of the latest changes in the repository, means are available to be notified each time a commit is made; see the mailing-lists page for details.