Trac: Version Control, Bug Tracking, Project Wikis

by Christopher Allison on August 7, 2012

Last updated May 10, 2013

At CCIS, we run an instance of Trac, an Open Source, web-based Project Management tool from Edgewall Software.

At https://trac.ccs.neu.edu, you can request one more new “Projects.” A Trac project provides three main functionalities (each isolated on a per-project basis):

  • A subversion-based Version Control Repository
  • A built-in web-based ticket tracking system
  • A simple, built-in wiki (meant for project-specific documents)

A CCIS Trac-hosted project can either be public (web interface, including tickets and wiki, are viewable by anyone) or non-public (only authenticated & authorized accounts can view tickets and wiki).

Subversion access control is more granular, and is handled according to svn Path-Based Authorization.

Authentication (for both the web interface and subversion) is done with CCIS Accounts. For those who do not have accounts (eg: offsite collaborators), we provide trac-only guest accounts (visit https://trac.ccs.neu.edu and click “register for a local account”).

Once your account has been created, the primary method you’ll use to work with the repository is through Subversion. You can check out out your project with the following command:

svn co https://trac.ccs.neu.edu/svn/REPONAME

You can also browse your repository in via the TRAC web interface at https://trac.ccs.neu.edu/trac/REPONAME

In order to allow others access to your repository, a special meta-repository has been created with a single file in it. Check out this repository like this:

svn co https://trac.ccs.neu.edu/svnmanage/MANAGE/REPONAME

A directory will be created to match REPONAME and will contain a file, svn.access. This file controls access to your repository. The format of the file looks like this:

[groups]
groupname1 = rw
groupname2 = r

[REPONAME:/]
username1 = rw
username2 = r

[REPONAME:/subdirectory]
username3 = r

When specifying a subdirectory as in the example, ensure that the directory name omits the trailing slash. After editing this file to match your desired permissions, commit it with “svn commit”, and a server-side hook will update permissions to your main repository. If there is a syntax error in your svn.access file, the hook will fail and you will be notified by the output.

That’s it in brief! Please comment or send mail to systems@ccs.neu.edu with any questions not answered here, or suggestions for making this page better.