Subversion and Trac
It’s kind of sad that, even though I know Subversion (svn from now on) existed since long ago, it was just until a month ago or so when I finally started working with it. What can I say? It has totally changed the way I work not only on group projects, but on individuals too! Easy to install, easy to use, plug-ins for each IDE I use… Version control isn’t only a good way to keep a project history and work with more people, but a development philosophy catalyst that ensures changes in a project will have sense.
Just a moment after my first two commits (true story) I became interested in the project management possibilities svn granted, even though my work philosophy tended always to ad-hoc and little to none organization, always enphasizing the work core.
Now is when Trac comes in. Trac is simply awesome. Each time I browse to a trac project page I get really excited. Trac is project management system that has what I consider to be the best feature: As non-intrusive as possible. Svn integration is wonderful, it is really easy to install too, and it lets you manage your project as you feel right.
And how does this work? The project lives in a single host as a repository in the svn server. There are two basic operations we can do with each repository item
- Update ->Update our local version, if we have one, with the one in the repository if it’s higher. This is the way to get the last version of what we need.
- Commit -> Update the repository with the changes we made. The client first checks if the version we used to develop the changes is the one on the repository. If not, another developer changed the base in which the changes have been done, so it is mandatory to check the new version and get things good. All of this is really easy to do. It is possible (I would call it a must-do!) to asign a record text to each commit so we can track all those changes easily.
Regarding basics, that’s svn. Regarding trac, it’s a web application with the following elements:
- Wiki: A useful wiki to keep the project documentation or info about the project development stage. Extremely easy to use.
- Timeline: Lists all project related events: wiki edits, svn commits, ticket creation and closure… Everything that has happened since day one!
- Roadmap: Here we can create milestones or assign tickets to one already created. Each milestone has a percentual gauge that will fill when all tickets of that milestone are closed.
- Browse Source: A handy svn repository explorer with diff capabilities. Sweet!
- Tickets: Tickets are trac’s power backend and the organization magic for our projects. A ticket can be anything: a task, a bug, a feature request, a comment… Each ticket belongs to a milestone and it is possible to assign tickets to a user of the system.
This way, trac becomes our project’s main page, and a reference about what to do and when to do it. A task gets more complex? Create more tickets. We finish something? Close it’s tickets. Easy! There are also hook scripts with which we can automagically close tickets, do incremental backups and more.
Some links:
http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/
http://ariejan.net/2006/12/02/how-to-setup-a-ubuntu-development-server-part-2/
http://cachi.temiga.org/2008/02/11/montando-apache-ssl-subversion-webdav-websvn-en-ubuntu-server/
http://blog.odonnell.nu/32.html
http://www.reviewingit.com/index.php/content/view/62/1/
http://www.hosted-projects.com/trac/TracDemo/Demo
http://ankhsvn.open.collab.net/
Tags: svn, trac, [lang_es]Programación[/lang_es][lang_en]Software development[/lang_en]





2008-05-22 at 4.52 am
Muy Bueno tu post, exitos…
2008-05-22 at 6.12 am
Gracias a un post como el tuyo que linkeo está aqui
2008-06-16 at 2.58 pm
I love trac!!! le voy a decir a Raingna que me haga un pin XD
La verdad es que es increíble para que alguien como yo que trabaja a ratos y de una vez a la siguiente se le ha olvidado por donde estaba la ultima vez. y la wiki integrada me parece genial para mantener la documentación del proyecto. El SVN también me parece una maravilla, lastima que a los pluggins de las IDEs aveces que se les vayan un poco la pinza.