Debian Sarge does indeed have a darcs package, but the version they have is 1.0.2, and a lot of bugs have been fixed since then. We will compile darcs by hand. Alternatively you may consider using the version from www.backports.org, they also seem to have a current version.

Congatulations, at this point you have Trac running on top of darcs! Your Test Environment isn’t complete; there aren’t any users, and the WebAdmin and Account-Manager plugins need to be enabled by further editing the trac.ini. More info about this configuration can be found on their respective home pages. If all you need is to Trac a single project then go set that up and you are done!

We aren’t going to do that here since with the Test Environment we were just trying to prove Trac on Darcs works. We are now going to set up a multi-project environment and have some scripts (currently beta) designed to do that setup for you, so read onwards.

Now that you’ve got trac, darcs, and your webserver set up, the next step is to create a jail for the darcs users on your machine. Whether or not this is actually useful is debatable, but it does make me marginally more comfortable with the idea of giving shell access to your users.

Notes:

This isn’t absolutely mandatory, but note that the adminDT scripts below assume that you have things set up with jailkit.

An alternative would be to use a restrained shell, as the RepoSSH page suggests, but then people can’t do stuff like set up their public_html spaces).

Trac itself would not be running in the jail; just the users when they ssh into your machine

Creating a project consists of setting up a darcs repository, a trac environment, and one Unix user for the project. This user will have no password, as is expected to log in by ssh key (the idea being that all developers give their public keys to the user). To automate the whole process, you can use the following shell scripts:

darcs get http://trac.loria.fr/darcs/admindt/adminDT

These scripts also provide a little bit of extra fanciness, such as automated nightly darcs dist. You can find out more on the project page