|Version 16 (modified by 17 years ago) ( diff ),|
Versioning System Backend
Currently, Trac is tightly integrated with Subversion.
Any given TracEnvironment addresses one and only one Subversion Repository. However, nothing prevents you to setup multiple Trac Environments on top of the same Subversion Repository. This can be handy to manage separately different products which share the same code repository.
Other Versioning System
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 (and 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) (1).
So, the current situation is pretty simple:
- If you're using CVS, use CVSTrac
- If you're using Subversion, use Trac
- If you're using Darcs, use Trac+Darcs (see DarcsBackend)
- If you're using Bazaar-NG, use Trac+Darcs since it also has support for Bazaar-NG (see BzrngBackend)
- If you're using something else, you're on your own…
But as Trac is evolving, it will support more versioning system backends. This is a stated goal for the Milestone 2.0.
So far, there has been interest in the following systems:
- #978: SVK support (as mentioned in that ticket, SVK is actually already supported in some way)
- #893: Arch support
- #257: Perforce support
- #638: darcs support
- #1492: monotone support
- TBD: bzr support (This one is interesting in that it is written in Python.)
- #1847: Mercurial(hg) support. Also written in Python. Used by the Xen Project.
- TBD: darcs-git support for darcs-git backend might also be useful.
There's even a request that Trac should be usable without any underlying versioning system (#156).
It should be mentioned that CVSTrac also aims to support more SCM backends, SVN and git being worked on.