Rob wrote:
Hi Rob
> I have some working code for the ticket dependency thing I asked about
> it earlier.
>
> First some questions:
> - Would you be interested in this code? (provided I clean it up and you
> feel it can at leadt pass as somewhat decent code)
The official reason why Trac currently doesn't have any explicit
"dependency support" is because most people don't need it.
You get pretty far just by writing stuff like:
"This ticket depends on: #123, #456"
in the description or comment fields. Then it's pretty easy to see the
dependencies, especially with
the new feature in trunk where you can tell if the tickets are new, open
or closed just by looking at the links. Of course this system isn't able
to do fancy stuff like display dependency diagrams or enforce these
dependencies by refusing to carry out actions that violate these
dependencies. But you get pretty far just by using this system.
This was also decided to keep down the overall complexity of the system
at an early stage of the development.
But sure, if people still feel the need for this kind of explicit
"dependency support" I'm not against adding it as long as it doesn't
force people to start using Trac in a different way. It also doesn't
hurt if the implementation is nice and straightforward. :)
> - Can anyone give me some feedback on the code as is? (I'd like to know
> if you can agree on the general direction I'm taking this.)
I believe that utopiste volunteered to take a look at the code, but it's
always a good idea to attach the patch to the ticket as well.
> - I could use some advice on how/where best to store the new bits info
> in the hdf.
I'm not exactly sure what you mean but it generally doesn't matter
exactly where you store store the info. It can always be changed later.
> - If you want patches do I generate them against 0.7.1 or the trunk?
all new development should be against trunk.
>
>
> What does it do:
> 1. Enables displaying of Tickets blocking or blocked by the current
> ticket on the 'View Ticket' page.
> 2. Enables editing of this information on the 'View Ticket' page.
>
> What it doesn't do:
> Lots, basically I just wanted something that works and show where I
> woudl like to go with this, a proof-of-concept really.
>
> 1. Reopen depending Tickets when the a Ticket it depends on gets Reopened.
> 2. Disallow closing of a Ticket when a Ticket it depends on is still Open.
I guess we need to update the trac-pre/post-commit scripts in the
contrib directory as well then...
> 3. Automatically update DB schema. ( I just added the table manually
> myself.)
That's easy. We probably have to do some schema changes for Trac 0.9
anyway.
> 4. Display ticket dependencies more than one level deep (Not sure if
> that's such a hot idea to begin with. )
>
I have no idea about this one.
>
> If this is something you are interested in I could finish it/ clean it
> up and submit a patch.
Sure, send the patch to utopiste and attach it to #226.
http://projects.edgewall.com/trac/ticket/226 / Jonas
--
Jonas Borgstr?m | Edgewall Software
jonas@edgewall.com | Professional GNU/Linux & Open Source Consulting.
| http://www.edgewall.com/