~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bugtracker.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-09-06 11:33:42 UTC
  • mfrom: (5409.1.1 cleanup)
  • Revision ID: pqm@pqm.ubuntu.com-20100906113342-s41muavhjutdc7xr
(vila) Cleanup imports in bt.per_wt.test_pull (most of them were useless).
 (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
93
93
--fixes`` to mark bugs in that tracker as being fixed by that commit. For
94
94
example::
95
95
 
96
 
    bugzilla_squid_url = http://bugs.squid-cache.org
 
96
    bugzilla_squid_url = http://www.squid-cache.org/bugs
97
97
 
98
98
would allow ``bzr commit --fixes squid:1234`` to mark Squid's bug 1234 as
99
99
fixed.
127
127
 
128
128
    bugtracker_cpan_url = http://rt.cpan.org/Public/Bug/Display.html?id={id}
129
129
 
130
 
would allow ``bzr commit --fixes cpan:1234`` to mark bug 1234 in CPAN's
131
 
RT bug tracker as fixed, or::
132
 
 
133
 
    bugtracker_hudson_url = http://issues.hudson-ci.org/browse/{id}
134
 
 
135
 
would allow ``bzr commit --fixes hudson:HUDSON-1234`` to mark bug HUDSON-1234
136
 
in Hudson's JIRA bug tracker as fixed.
 
130
for CPAN's RT bug tracker.
137
131
"""
138
132
 
139
133
 
234
228
    UniqueIntegerBugTracker('gnome', 'http://bugzilla.gnome.org/show_bug.cgi?id='))
235
229
 
236
230
 
237
 
class URLParametrizedBugTracker(BugTracker):
 
231
class URLParametrizedIntegerBugTracker(IntegerBugTracker):
238
232
    """A type of bug tracker that can be found on a variety of different sites,
239
233
    and thus needs to have the base URL configured.
240
234
 
241
235
    Looks for a config setting in the form '<type_name>_<abbreviation>_url'.
242
 
    `type_name` is the name of the type of tracker and `abbreviation`
243
 
    is a short name for the particular instance.
 
236
    `type_name` is the name of the type of tracker (e.g. 'bugzilla' or 'trac')
 
237
    and `abbreviation` is a short name for the particular instance (e.g.
 
238
    'squid' or 'apache').
244
239
    """
245
240
 
246
241
    def get(self, abbreviation, branch):
261
256
        return urlutils.join(self._base_url, self._bug_area) + str(bug_id)
262
257
 
263
258
 
264
 
class URLParametrizedIntegerBugTracker(IntegerBugTracker, URLParametrizedBugTracker):
265
 
    """A type of bug tracker that can be found on a variety of different sites,
266
 
    and thus needs to have the base URL configured, but only allows integer bug IDs.
267
 
 
268
 
    Looks for a config setting in the form '<type_name>_<abbreviation>_url'.
269
 
    `type_name` is the name of the type of tracker (e.g. 'bugzilla' or 'trac')
270
 
    and `abbreviation` is a short name for the particular instance (e.g.
271
 
    'squid' or 'apache').
272
 
    """
273
 
 
274
259
tracker_registry.register(
275
260
    'trac', URLParametrizedIntegerBugTracker('trac', 'ticket/'))
276
261
 
279
264
    URLParametrizedIntegerBugTracker('bugzilla', 'show_bug.cgi?id='))
280
265
 
281
266
 
282
 
class GenericBugTracker(URLParametrizedBugTracker):
 
267
class GenericBugTracker(URLParametrizedIntegerBugTracker):
283
268
    """Generic bug tracker specified by an URL template."""
284
269
 
285
270
    def __init__(self):