tags:

views:

56

answers:

3

I use Trac to track bugs, and future changes in my software projects. Tickets in Trac have a "Version" field and I'm trying to figure out the best way to use this field.

Say I find a series of bugs in version 1.0 of my software. I create tickets in track for each and assign them to version 1.0. Now say I fix some of the bugs, and add some of the new features and release version 1.1. But some of the old 1.0 bugs are still in 1.1. Should I change their corresponding tickets to version 1.1 because they also now exist in 1.1? Or should I leave them set to version 1.0 as a way of tracking what version the bug was found in, and just assume that any open tickets in older versions still exist in newer versions?

+1  A: 

One approach is to tag builds using a suitable version number. Then it's fairly easy to update the version field with a TracLink as the ticket evolves.

Addendum: Several examples of using a TracLink in the version field maybe be found in tickets associated with Trac itself. Many leave the field blank. Several, including ticket #8146, implement Trac Ticket Queries. Others point to related milestones, etc. The uses are as varied as the tickets themselves.

trashgod
Yes I tag my version in SVN, but I'm new to TracLinks. I understand how they can be used to link between various elements in SVN and or Trac. However, I don't understand how they could be used to update the version field?
Eric Anastas
I don't think a `TracLink` can update the version field directly, but you can adopt a policy of using a particular type of `TracLink` in a given type of ticket. I've added some links to the examples above.
trashgod
+4  A: 

I would generally use the version field to indicate the version the bug was found in. I would use the milestone to indicate what version the ticket will be fixed in. If the ticket is open, it hasn't been fixed.

retracile
+1 This has been my preferred usage too. The semantics make the most sense this way, I think.
Rob Wilkerson
+1  A: 

There is always the possibility to update some fields directly in sqlite or mysql. if you are familiar with python you can develop a little python script which does the job. assuming you release once or twice a year...

Ice