Projects

The early projects on netlabs.org were using CVS as revision control system, which was a great thing so far. Unfortunately there were some limitations in CVS so it was about time to switch to something new. We use a combination of Subversion and TRAC to make development easier for the developer itself.

This page should give you an overview about how project management at netlabs.org works, or at least should work ;). It is also a guide for administrating projects for the server administrators.

Server
Those steps are done by hand so far but we gonna script that one day...

Create a new Subversion project
Subversion source is stored in /data/svn/netlabs.org, the subversion repository should get the same name as the URL of the virtual host in the webserver. We create a new repository like this (as a sample we use the acpi project):

c-3po# svnadmin create --fs-type=fsfs /data/svn/netlabs.org/acpi

We also propose to create the following three directories:


 * /trunk - holds the main copy of the project where most development occurs%2%2%2%
 * /branches - holds separate lines of development, defined by the developers
 * /tags - holds significant versions of the project, like a release. Should be readonly

Note that all files in branches and tags are just (copy-on-write) copies of the trunk tree. This schema is used by many projects and is described in more details at developer.com

You can create the directories like this: c-3po# svn mkdir file:///data/svn/netlabs.org/acpi/trunk \ file:///data/svn/netlabs.org/acpi/branches \ file:///data/svn/netlabs.org/acpi/tags \ -m "Creating initial repository layout"

Now the initial project exists and we have some base layout. We can't checkout from remote yet however, first we have to configure Apache for that.