Source Code Repository

Introduction

The source code of the software projects on this site is stored in a version control system named Subversion External link. Version control is useful as you can always access previous versions of the software to see what's been changed, why, and by whom.

The repository (as the source code database is referred to) can be made accessible in several ways, but this one is served by the Apache web server External link, with a little help from a couple of special modules. This is the interface to the repository itself, which is used to fetch and query source code files, as well as for uploading new versions of these files.

The repository is also available in a browsable, read-only form by way of the ViewCV External link system. Being a web-based system, this also runs under Apache. This interface can be used to views files in the repository, examine the version history, etc. but can't be used for fetching whole a project's source code or uploading changes.

Using the Repository Directly

In order to download (in version control speak: check out) a project's source code, you'll need to get hold of a Subversion client. There are many different clients, some of which have a graphical interface, but I'm only going to explain how to use the standard command line version here. If you have another client, use the details below in combination with the client's own documentation.

Checking Out Sources

To retrieve the latest version of a project's sources you need to know the URL of the appropriate directory in the repository. For example, the sources for the Focus OS are stored under the focus directory. The repository itself is located at http://sources.cosam.org/svn/. Adding the directory to this path gives us the full URL.

The command to check out the sources for this project would therefore be:

$ svn checkout http://sources.cosam.org/svn/focus

This will download the latest version of the sources to a directory named focus. For other projects, simply replace the directory with that of the project in question.

If you already have a local copy of a project, and want to make sure you have the latest verison, simply change to the directory of your local copy and issue the update command:

$ cd focus
$ svn update

Subversion will then update the local copy by fetching the differences between your local copy and the latest version on the server.

Browsing the Repository

Although all possible using the standard Subversion tools, if you just want to examine a particular file or look up a file's or project's location, it can be handier to use a simpler interface. The ViewCV External link system provides an easy-to-use web interface to the Subversion repository.

Simply point your web browser to: http://sources.cosam.org/.