Version Control Systems for Trac
Trac uses a version control system to manage products within the team. Typically these products will be software products or releases, but they can be any digital artefact, such as artwork or assets. Currently, Trac is tightly integrated with the Subversion and Git version control system.
Starting with Trac 0.12, a given TracEnvironment can handle multiple repositories of the same or different versioning systems (see TracRepositoryAdmin). Also, nothing prevents you from setting up multiple Trac environments on top of the same repository. This can be handy to manage different products which share the same code repository.
Other Version Control Systems
As mentioned in the TracHistory, Trac was inspired by CVSTrac, a project management and issue tracking system which uses CVS as its versioning system backend. Like Trac, it uses SQLite as its DatabaseBackend, which isn't surprising considering the fact that the author of CVSTrac is also the author of SQLite.
The versioning systems which are supported by Trac out of the box:
- Subversion, provided the Python bindings for Subversion are installed. See TracSubversion for more details.
- Git, provided the
git
command line tools are installed. As an optional component for Trac, it needs to be enabled in the configuration. See TracGit for more details.
The other versioning systems known to work with Trac are:
- Mercurial, as a plugin for Trac, see TracMercurial.
- Darcs, with Trac+Darcs, see TracDarcs, DarcsBackend, and also #638.
- Bazaar, also with Trac+Darcs. since it also has support for Bazaar. Contrary to Darcs support, this only works for 0.9, since the original author of Bazaar support, Johan Rydberg, is not working on this any more. An attempt to support ≥0.10 versions is available at https://launchpad.net/trac-bzr.
- Perforce, as a plugin for Trac, see PerforcePlugin and #257.
- Monotone, as a plugin for Trac, see TracMTN (beta) and #1492.
- CVSNT, as a plugin for Trac, see TracCvsntIntegrationPlugin, status is pre-alpha.
- VisualSVN integrates Subversion for Windows users, see TracOnWindows.
In addition, there has been interest in the following systems:
- #978:
SVK support(SVK is no longer maintained) - #893:
Arch support(Arch is no longer maintained) - #2037: ClearCase support
- #2643: CVS support
- Another Git plugin developed for/by One Laptop Per Child
- TBD: darcs-git support for darcs-git backend might also be useful.