Chapter 5. Source Management

Table of Contents

The Subversion Repository
What is Subversion?
The G Source Code Repository
Compiling and Installing
Documentation
Website

The Subversion Repository

What is Subversion?

All project data, including the website, is kept in a subversion repository. Subversion is a revision control system, which is an essential tool for any software project, or even any kind of data. If you are unfamiliar with subversion, or even with revision control systems in general you should take a look at http://subversion.tigris.org. You can also get subversion from this site for any platform. All required information can be found in the subversion book, which can be found at http://svnbook.red-bean.com.

The actual place where subversion stores all the data is called a repository.

The G Source Code Repository

Repository Layout

The URL is svn://svn.g-system.at/G. It is further divided into these subdirectories:

  • trunk

  • branches

  • tags

The current development source code is located in trunk, stable versions are in branches and tags, which are both further divided into individual version directories. You usually don't need to access these to do normal development, but it might be important for backports and bugfixes.

All documentation is included within this repository.

The website is located in a separate repository, located at svn://svn.g-system.at/G-www, which also includes the trunk and tags subdirectories. The www.g-system.at website is automatically extracted from trunk. Thiw is implemented with a post-commit hook of the subversion repository.

Working with the Repository

Here are some basic instructions on using the repository, for details please consult the subversion book.

  • Checking out the latest sources

    svn co svn://svn.g-system.at/G/trunk

    This creates a local directory ./trunk, which includes a copy of the current sources.

  • Updating a checkout

    svn up

    This command must be run within the checked out directory. It updates the local copy to the latest version.

  • Creating a patch with your local changes

    svn diff > /tmp/my_local_changes.diff

    This command must be run within the checked out directory. svn diff creates an unified diff that can be used as a patch. You can do local changes and use this command to create a patch and send it to the developers.

There are of course many more things you can do with subversion, please consult the subversion book for this.


G System Documentation Home