Ticket #1947 (new enhancement)
Opened 6 years ago
Last modified 3 weeks ago
Nicer handling of bugtraq properties
| Reported by: | borzwazie@… | Owned by: | cboos |
|---|---|---|---|
| Priority: | normal | Milestone: | unscheduled |
| Component: | version control/browser | Version: | devel |
| Severity: | minor | Keywords: | svn property |
| Cc: | ttingey@…, me@… | ||
| Release Notes: | |||
| API Changes: | |||
Description
It would appear that Trac partially supports Subversion bugtraq properties, useful for linking changesets back to the issue tracking url. However, when you add these properties, the output looks like this:
Added Subversion bugtraq properties to repository. bugtraq:message "#1"
While the #1 is correctly linked back to the issue, it's because Trac is using the built-in regex to link back. If the full bugtraq properties were read correctly, the Subversion repository would provide this information.
try setting the following properties on a Subversion repository (be sure to do this recursively):
bugtraq:label #
bugtraq:url http://localhost/cgi-bin/trac.cgi/ticket/%BUGID%
bugtraq:message "#%BUGID%"
bugtraq:number true
bugtraq:warnifnoissue false
If you connect to a subversion repository with a tool like TortoiseSVN, you'll be able to click on the defect number and link directly back to the issue in Trac.
Full support of this in Trac would be a nice enhancement.
Attachments
Change History
comment:1 Changed 6 years ago by cmlenz
- Component changed from ticket system to browser
- Milestone 0.9 deleted
comment:2 Changed 6 years ago by cboos
- Milestone set to 1.0
- Owner changed from jonas to cboos
- Severity changed from normal to minor
- Status changed from new to assigned
comment:3 Changed 6 years ago by mgood
cboos: the point of this ticket is that rendering the bugtraq:message property with the Trac Wiki syntax is not sufficient since it doesn't honor the other bugtraq properties which may refer to an external bug tracking system. So, rendering it for the mime type text/x-trac-wiki is not going to solve this issue.
I don't really see any benefit to mapping other SVN properties into mime types since it seems like we'd need to come up with some bogus mime type for most of the different properties. It would simply be cleaner to just use the property names as the keys for mapping them to an appropriate renderer. The property viewer API could be patterned after the mime viewer API, but I don't think it really lends itself to reuse.
It will also be necessary to deviate a bit from the mime viewer API since as seen with bugtraq it may not be possible to render each property on it's own, since rendering bugtraq:message also requires knowing the other 5 properties mentioned above.
comment:4 Changed 6 years ago by cboos
In the example from the ticket description,
the other bugtraq properties were actually set
to point to Trac's ticket system, which I guess
could be made the default if the bugtraq:url
is not set. But I see your point.
In the render method, we should actually get
a dictionary of property name and values.
comment:5 Changed 6 years ago by cboos
For further reference, the issue tracker interoperability spec can be found there: http://guest:guest@tortoisesvn.tigris.org/svn/tortoisesvn/tags/version_1.2.0/doc/issuetrackers.txt
comment:6 Changed 6 years ago by borzwazie@…
I was assuming that if one was running Trac that you'd want to point it to the built-in issue tracking, but the point is well-made that it might actually point to some other tracker. I don't think it really matters, provided the repository admin isn't weird enough to try something like that.
there's no facility within Trac to create or admin repositories (maybe another feature request?) so the only way that's going to get in there is if the svn admin sets it.
subversion will let you create any property you want (aside from a few reserved names I think), so maybe if you want to turn "off" the original trac tracking functionality and use the subversion bugtraq instead, have the user create a custom property on the repository that you'd look for and then read the bugtraq properties instead of using the built-in regex. the property need not even be recursive, you could simply set it at the top of the project tree.
comment:7 Changed 6 years ago by cboos
- Status changed from assigned to new
(changing the status, as I've not actually started to work on that yet)
comment:8 Changed 6 years ago by dserodio@…
- Cc dserodio@… added
comment:9 Changed 6 years ago by anonymous
- Cc ttingey@… added
comment:10 follow-up: ↓ 11 Changed 5 years ago by cboos
See also how to configure TortoiseSVN so that you can link back to Trac (0.11dev >= r4239) from Tortoise's revision log.
comment:11 in reply to: ↑ 10 Changed 5 years ago by anonymous
- Cc me@… added
Replying to cboos:
See also how to configure TortoiseSVN so that you can link back to Trac (0.11dev >= r4239) from Tortoise's revision log.
Replying to how to configure TortoiseSVN:
Implemented in r4239.
Now the TortoiseSVN's bugtraq:url property could be configured to point to one of these:
- <your-trac-url>/intertrac/ticket:%BUGID%
- <your-trac-url>/query?id=%BUGID%
In addition, the bugtraq:logregex property could be set to:
(?:ticket:|#)\d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)* \d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)*
in order to match the regexps now used by Trac.
What I would actually love to see, is to have Trac itself actually use the bugtraq:logregex setting, or probably better, to allow the changing of the regex used to identify ticket id's in trac.ini.
Take this regex for example (is what I use):
[Ii]ssues? (#(\d+)(,? ?#(\d+))*( [aA][nN][dD] #(\d+))?) (\d+)
comment:12 Changed 22 months ago by cboos
- Milestone changed from 1.0 to unscheduled
Milestone 1.0 deleted
comment:13 Changed 4 weeks ago by psuter
- Keywords svn property added
comment:14 Changed 3 weeks ago by dserodio@…
- Cc dserodio@… removed



See also #1601, which proposes a framework
for handling this kind of enhancements.
I'm also beginning to think that simply associating
MIME-Types to properties would probably already be a good step
forward.
In that perspective, declaring the bugtraq:message property
to be of type text/x-trac-wiki would be enough.
(and for #1896, we could associate svk:merge to
application/octet-stream to simply hide it,
and to application/x-svk-merge for a dedicated processing
in the appropriate Mimeview renderer)