~bzr-pqm/bzr/bzr.dev

3959.1.1 by Martin Pool
Remove redundant description of debug flags from debug.py
1
# Copyright (C) 2005, 2006, 2009 Canonical Ltd
2095.5.2 by Martin Pool
save commit message if commit fails (#32054)
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2095.5.2 by Martin Pool
save commit message if commit fails (#32054)
16
17
2555.3.22 by Martin Pool
hook docs
18
"""Set of flags that enable different debug behaviour.
19
4070.8.3 by Martin Pool
Finish debug_flags support and add a test case
20
These are set with eg ``-Dlock`` on the bzr command line or in
21
~/.bazaar/bazaar.conf debug_flags.
2555.3.22 by Martin Pool
hook docs
22
4110.2.7 by Martin Pool
Split debug flags into their own help topic
23
See `bzr help debug-flags` or `bzrlib/help_topics/en/debug-flags.txt`
3959.1.1 by Martin Pool
Remove redundant description of debug flags from debug.py
24
for a list of the available options.
2555.3.22 by Martin Pool
hook docs
25
"""
3959.1.5 by Martin Pool
pep8 correctness (maybe) for global variables
26
4070.8.3 by Martin Pool
Finish debug_flags support and add a test case
27
3959.1.5 by Martin Pool
pep8 correctness (maybe) for global variables
28
debug_flags = set()
4070.8.2 by Martin Pool
Initial support for debug_flags config option
29
30
31
def set_debug_flags_from_config():
32
    """Turn on debug flags based on the global configuration"""
33
34
    from bzrlib.config import GlobalConfig
35
36
    c = GlobalConfig()
37
    value = c.get_user_option("debug_flags")
38
    if value is not None:
4070.8.4 by Martin Pool
Apparent configobject automatically splits comma-separated lists
39
        # configobject gives us either a string if there's just one or a list
40
        # if there's multiple
41
        if isinstance(value, basestring):
42
            value = [value]
4070.8.3 by Martin Pool
Finish debug_flags support and add a test case
43
        for w in value:
4070.8.2 by Martin Pool
Initial support for debug_flags config option
44
            w = w.strip()
4070.8.3 by Martin Pool
Finish debug_flags support and add a test case
45
            debug_flags.add(w)