/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/crash.py

  • Committer: Vincent Ladeuil
  • Date: 2011-05-17 15:14:38 UTC
  • mfrom: (5050.73.3 2.2)
  • mto: (5609.39.5 2.3)
  • mto: This revision was merged to the branch mainline in revision 5885.
  • Revision ID: v.ladeuil+lp@free.fr-20110517151438-j75xuw2zm9alk9a5
Merge 2.2 into 2.3 resolving conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2009-2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
20
20
A crash is an exception propagated up almost to the top level of Bazaar.
21
21
 
22
22
If we have apport <https://launchpad.net/apport/>, we store a report of the
23
 
crash using apport into it's /var/crash spool directory, from where the user
 
23
crash using apport into its /var/crash spool directory, from where the user
24
24
can either manually send it to Launchpad.  In some cases (at least Ubuntu
25
25
development releases), Apport may pop up a window asking if they want
26
26
to send it.
84
84
    """Report a bug by just printing a message to the user."""
85
85
    trace.print_exception(exc_info, err_file)
86
86
    err_file.write('\n')
87
 
    err_file.write('bzr %s on python %s (%s)\n' % \
88
 
                       (bzrlib.__version__,
89
 
                        bzrlib._format_version_tuple(sys.version_info),
90
 
                        platform.platform(aliased=1)))
91
 
    err_file.write('arguments: %r\n' % sys.argv)
92
 
    err_file.write(
 
87
    import textwrap
 
88
    def print_wrapped(l):
 
89
        err_file.write(textwrap.fill(l,
 
90
            width=78, subsequent_indent='    ') + '\n')
 
91
    print_wrapped('bzr %s on python %s (%s)\n' % \
 
92
        (bzrlib.__version__,
 
93
        bzrlib._format_version_tuple(sys.version_info),
 
94
        platform.platform(aliased=1)))
 
95
    print_wrapped('arguments: %r\n' % sys.argv)
 
96
    print_wrapped(textwrap.fill(
 
97
        'plugins: ' + plugin.format_concise_plugin_list(),
 
98
        width=78,
 
99
        subsequent_indent='    ',
 
100
        ) + '\n')
 
101
    print_wrapped(
93
102
        'encoding: %r, fsenc: %r, lang: %r\n' % (
94
103
            osutils.get_user_encoding(), sys.getfilesystemencoding(),
95
104
            os.environ.get('LANG')))
96
 
    err_file.write("plugins:\n")
97
 
    err_file.write(_format_plugin_list())
 
105
    # We used to show all the plugins here, but it's too verbose.
98
106
    err_file.write(
99
 
        "\n\n"
 
107
        "\n"
100
108
        "*** Bazaar has encountered an internal error.  This probably indicates a\n"
101
109
        "    bug in Bazaar.  You can help us fix it by filing a bug report at\n"
102
110
        "        https://bugs.launchpad.net/bzr/+filebug\n"
173
181
    pr['Package'] = 'bzr'
174
182
 
175
183
    # tell apport to file directly against the bzr package using 
176
 
    # <https://bugs.edge.launchpad.net/bzr/+bug/391015>
 
184
    # <https://bugs.launchpad.net/bzr/+bug/391015>
177
185
    #
178
186
    # XXX: unfortunately apport may crash later if the crashdb definition
179
187
    # file isn't present