I don't think Johnmb is thinking about a defect tracking system when
mentioning a ticket system, but something similar to Perforce's job
control system. Perforce's job control system is far from a complete
defect tracking system, but its real power is in integrating Perforce
with a defect tracking system via its job control system.
In most defect tracking/version control integrations, the main point
of integration is that the defect tracking system stores the files and
revisions that were changed against a given ticket. If I want to find
all the source code changes associated with a particular defect, I
have to query the defect tracking system for this information.
In Perforce's job control system by default, a job has an "owner", a
"description", and a "status" of either "open" or "closed". Jobs are
associated with change lists (which are similar to Subversion's
repository revision numbers). When you integrate Perforce's job
control system with a defect tracking system, Job IDs could be made to
match the defect ID in the defect tracking system. Status can also be
given the more values in order to match the statuses in the defect
tracking system.
This adds an amazing bit of power. In most defect tracking/source
control integrations, almost all queries must be handled via the
defect tracking system. For example, if I want to know what files were
changed by particular defects, I query the defect tracking system. If
you had Perforce and integrated the job control system into the defect
tracking system, almost all of your queries could be done directly
from the source control system. You could generate release notes
between two Perforce change sets and include all defects that were
fixed, how they were fixed, and when they were fixed.
You could do something similar with Subversion's revision properties,
but there are several limits that must be overcome:
* Revision properties only have a single value. For example, you could
have a revision property of "jira:ticket" which could contain the Jira
ticket that was involved with that revision, but you can't say what
the status of that ticket is, who fixed it, its description, etc.
* You can't query on revision properties: For example, I can't say
"Show me all revisions that have a property of "jira:ticket" which has
a value of "BUG-1323".
* Revisions can only have a single instance of a particular revision
property. You can't have a revision with two instances of
"jira:ticket" to show that this revision fixed both BUG-1234 and
BUG-1384.
Of course, the answer whether Subversion has a ticketing system is
still "no", but it might be something interesting to consider in
future revisions of Subversion.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-06-19 21:18:00 CEST