Project Management with Trac & SVN

Wednesday, February 27 2008 @ 01:59 PM CST

Contributed by: Yeraze

Back at Z-Kat, I remember we spent alot of time trying to get a web-based project management system up and running.  We were already using CVS for source control, and we had a Twiki advocate on staff who got Twiki up and running, and we eventually setup BugZilla for ticket tracking.  It all worked pretty well in it's individual pieces, when you wanted to start linking things together it got a big confusing.  We eventually wrote some code to allow us to reference ticket numbers from CVS commits, and put some stuff in the Wiki to let us reference things.  With CVSWeb operating, it was almost a project management system but always felt a bit kludgey.

Well, with Final Colony taking off and myself and a friend working on it, I thought we needed something similar.  Not wanting to rebuilt the previous solution, I dug around the net and eventually found Trac.  It does everything the previous solution I mentioned did and more.  It's got an integrated Wiki & Ticketing system, and links with Subversion for source control.  It all cross-links so that you can directly reference code & changesets in wiki edits & tickets, and vice versa.  They provide SVN post-commit-hooks to even allow you to commit code with a message that says "This fixes #45 and #46" and have those two tickets closed, with the SVN commit message added to the ticket.  It's a complete & powerful system that does everything I need.  It's written entirely in Python, and can be a bit of a Bear to install, but it's worth it.  And if you don't have access to Apache, they even provide a standalone python version you can run on your own machine to manage data. 

The one hurdle I had to overcome was converting my existing CVS repository to SVN. For this, I found a great tool called cvs2svn that converts your repository with full revision history, branches, and tags.  Since then I've fallen in love with SVN.  Life is so much easier than with CVS.  All your changesets are full transactions, so never again do I commit a bunch of files and have it die halfway through with a version mismatch.  Never again do I have to find cryptic date & timestamps to checkout a complete working version, just get "Version 738".  I remember Lou's masterful TCL scripts to attempt & cobble together data like the "Date" of a Tag.  Such things are trivial with SVN.

So, for those of you out there doing development that have not had the opportunity to use subversion & Trac, i highly recommend it.  It's a great solution to so many of the problems I spend my days complaining about.

Technorati Tags: , , ,

Comments (0)


Yeraze's Domain
http://www.yeraze.com/article.php/20080227135930322