~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: 2009-03-06 06:48:25 UTC
  • mfrom: (4070.8.6 debug-config)
  • Revision ID: pqm@pqm.ubuntu.com-20090306064825-kbpwggw21dygeix6
(mbp) debug_flags configuration option

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import textwrap
18
18
 
44
44
recorded by using the --fixes option. For each bug marked as fixed, an
45
45
entry is included in the 'bugs' revision property stating '<url> <status>'.
46
46
(The only ``status`` value currently supported is ``fixed.``)
47
 
 
48
 
The --fixes option allows you to specify a bug tracker and a bug identifier
49
 
rather than a full URL. This looks like
50
 
 
51
 
    bzr commit --fixes <tracker>:<id>
52
 
 
53
 
where "<tracker>" is an identifier for the bug tracker, and "<id>" is the
54
 
identifier for that bug within the bugtracker, usually the bug number.
55
 
 
56
 
Bazaar knows about a few bug trackers that have many users. If
57
 
you use one of these bug trackers then there is no setup required to
58
 
use this feature, you just need to know the tracker identifier to use.
59
 
These are the bugtrackers that are built in:
60
 
 
61
 
     URL                          | Abbreviation | Example
62
 
     https://bugs.launchpad.net/  | lp           | lp:12345
63
 
     http://bugs.debian.org/      | deb          | deb:12345
64
 
     http://bugzilla.gnome.org/   | gnome        | gnome:12345
65
 
 
66
 
For the bug trackers not listed above configuration is required.
67
 
Support for generating the URLs for any project using Bugzilla or Trac
68
 
is built in, along with a template mechanism for other bugtrackers with
69
 
simple URL schemes. If your bug tracker can't be described by one
70
 
of the schemes described below then you can write a plugin to support
71
 
it.
72
 
 
 
47
Support for Launchpad's central bug tracker is built in. For other bug
 
48
trackers, configuration is required in advance so that the correct URL
 
49
can be recorded.
 
50
 
 
51
In addition to Launchpad, Bazaar directly supports the generation of
 
52
URLs appropriate for Bugzilla and Trac. If your project uses a different
 
53
bug tracker, it is easy to add support for it.
73
54
If you use Bugzilla or Trac, then you only need to set a configuration
74
55
variable which contains the base URL of the bug tracker. These options
75
56
can go into ``bazaar.conf``, ``branch.conf`` or into a branch-specific
282
263
 
283
264
 
284
265
tracker_registry.register('generic', GenericBugTracker())
285
 
 
286
 
 
287
 
FIXED = 'fixed'
288
 
 
289
 
ALLOWED_BUG_STATUSES = set([FIXED])
290
 
 
291
 
 
292
 
def encode_fixes_bug_urls(bug_urls):
293
 
    """Get the revision property value for a commit that fixes bugs.
294
 
 
295
 
    :param bug_urls: An iterable of escaped URLs to bugs. These normally
296
 
        come from `get_bug_url`.
297
 
    :return: A string that will be set as the 'bugs' property of a revision
298
 
        as part of a commit.
299
 
    """
300
 
    return '\n'.join(('%s %s' % (url, FIXED)) for url in bug_urls)