Hello,
we really appreciate the use of trac in our development group. My goal
in using trac is to ''trac'' the changes (bugfixes and enhancements) for
each version and each maintenance line of our software. Sincerely trac
has a few shortcomings in this area that plague me in keeping the
overview. I still think, that the new workflow enhancements will not
solve these issues really.
I think, that our product life cycle is similar in most environment. We
have the top of the line product and at least two actively maintained
older product lines, where we need to provide support and bugfixes. The
versioning of the software is also very simple in the common dot
separated form: major.minor.patch level.revision.
If a bug is encountered in a specific production line in most cases the
fix is also ported to at least one of the other production lines. So in
our case, and I expect this is the same for all other environments also,
the issue and the "fixed in" version is a 1:N relation ship. I would
also say, that an issue is actually tied to a specific file/path and a
specific revision of the archive, and is therefor also persistent in all
branched and derived files/folders until somebody comes by and fixes it
for this specific version. Additionally it is possible that the issue is
reopened or encountered in a "subversion relational" independent
version, e.g someone copy&pasted the same problem from one file into
another.
My main problem with the issue system is, that it can not capture this
one to many relation. So if you close a ticket, it is closed for all
versions. Esp. the "duplicate" and the "reopen" possibility are very
problematic in this case.
a. if you close an issue and set the resolution the "duplicate" the
issue is formerly closed. A quick glance over the closed tickets will
lead to the assumption, that this issue is also solved. But this is not
the case. It is only duplicate. The closed state depends on the fact of
"master" issue.
b. reopening will lead to the fact, that you loose the historical
information about the fact, that this ticket was closed already
somewhere in the production line. Esp. if the bug was closed in a
specific production line and reopened in the main line.
Every possible solution and operating procedure I came up in order to
minimize the impact are very fragile, if unknown developers do not
correctly update the milestone and version fields when performing
specific actions.
So in the current state, it is only possible to get a quick overview of
the complete state, but you can not solve the following tasks
1. list all open and known issues against a specific version or product
line
2. automatic generation of release notes if tickets, due to reopened
issues.
I do not have a solution to the above problem. One thing that comes to
my mind is the separation of the "issue information" and the
"organizational information", so that one can refer to the same ticket
multiple times. Additionally it would be great to have a tighter
integration with subversion, since this would automatically generate the
information about the "dependant" branches for the issues. This could be
simple "revision" field in the issue information, or a custom property
in subversion. Finally it would be great to have some kind of knowledge
about the version structure. So that trac automatically knows that
1.10.2 is a bugfix release of 1.10.1 and that 2.0 is a successor of 1.0
and all bugfix releases, even if 1.10.2 is created later in time than 2.0
Does anybody else have the same problem, or is it only me? Do I expect
to much from trac?
Best regards
Dirk
_______________________________________________
Trac mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac