SvnTrac
CVSTrac's CVS repository now has support (via ScmTrac) for using Subversion as
a SCM repository backend. #278 and #445 contain most of the details and
discussion. Most of the code was written by Nemanja Corlija with
infrastructure support by cpb.
It seems stable, functional and mostly feature complete. In terms of
performance, it's still quite a bit slower than CVS. There's also some issues
with how the results of "svn copy" are handled. If you're going to evaluate
Subversion support, please track CVS HEAD and plan on doing a repository rescan
(or even reconstruction) at some point in the near future.
In spite of these warnings, there are
¤people actually
¤using SvnTrac without apparent
problems.
Installation and configuration works about the same as with CVS.
Installing
make APPNAME=svntrac all
- You now have a svntrac executable. Copy to wherever you want.
Configuration
svntrac init /path/to/repository <project>
svntrac server 8008 /path/to/repository <project>
- Point your browser to ¤http://localhost:8008/
- Log in as setup/setup and configure. As with CVSTrac, you'll need to
configure the repository path and reread the repository. Note that this takes a
long time (i.e. I get about 200 revisions/minute) and your browser may time
out.
- You're done. Use it like any other CVSTrac installation
Notes
- As with CVS, the Subversion support does not attempt to alter the
repository itself. That means you should be able to safely play around without
trashing your data.
- SvnTrac checkin numbers are identical to the Subversion revisions. You'll
find this very convenient.
- The Browse functionality follows Subversion practice for branching and
tagging. That is, where in CVS all branches and tags are associated with a
particular file, in Subversion they're separate trees. This shouldn't bother
Subversion users. But it might increase the size of the underlying sqlite
database quite a lot. You have 1 record in the table file with CVSTrac
if you have a file foo.c with maybe 20 tags, but you will have 21 records
with SvnTrac. One entry for each tag and another one for the trunk.
- SvnTrac was the logical naming choice. Unfortunately, this was also the
original name of the ¤Trac project. Don't
confuse the two.
- No attempt has been made to migrate from CVS/CVSTrac to Subversion/SvnTrac.
It might be possible to migrate tickets and reports, but associations between
wikis, tickets and checkins could be confused unless
¤cvs2svn gets really lucky.