bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
6615.6.1
by Vincent Ladeuil
Open 2.7.1 for bug fixes |
1 |
# Copyright (C) 2005-2013, 2016, 2017 Canonical Ltd
|
|
2052.3.5
by John Arbash Meinel
Guide people to how to add files to the list of exceptions |
2 |
#
|
|
1
by mbp at sourcefrog
import from baz patch-364 |
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.
|
|
|
2052.3.1
by John Arbash Meinel
Add tests to cleanup the copyright of all source files |
7 |
#
|
|
1
by mbp at sourcefrog
import from baz patch-364 |
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.
|
|
|
2052.3.1
by John Arbash Meinel
Add tests to cleanup the copyright of all source files |
12 |
#
|
|
1
by mbp at sourcefrog
import from baz patch-364 |
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
|
|
1
by mbp at sourcefrog
import from baz patch-364 |
16 |
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
17 |
"""All of bzr.
|
18 |
||
|
6622.2.1
by Jelmer Vernooij
bzr => brz in docs, explain fork. |
19 |
Developer documentation for Bazaar is available at
|
20 |
http://doc.bazaar.canonical.com/bzr.dev/developers/,
|
|
21 |
it should mostly also apply to Breezy.
|
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
22 |
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
23 |
Some particularly interesting things in breezy are:
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
24 |
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
25 |
* breezy.initialize -- setup the library for use
|
26 |
* breezy.plugin.load_plugins -- load all installed plugins
|
|
27 |
* breezy.branch.Branch.open -- open a branch
|
|
28 |
* breezy.workingtree.WorkingTree.open -- open a working tree
|
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
29 |
|
30 |
We hope you enjoy this library.
|
|
31 |
"""
|
|
|
1
by mbp at sourcefrog
import from baz patch-364 |
32 |
|
|
6379.6.7
by Jelmer Vernooij
Move importing from future until after doc string, otherwise the doc string will disappear. |
33 |
from __future__ import absolute_import |
34 |
||
|
3195.1.1
by Andrew Bennetts
Always include timestamps in the trace file (i.e. remove -Dtimes in favour of having it switched on permanently) |
35 |
import time |
36 |
||
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
37 |
# Keep track of when breezy was first imported, so that we can give rough
|
38 |
# timestamps relative to program start in the log file kept by breezy.trace.
|
|
|
3195.1.1
by Andrew Bennetts
Always include timestamps in the trace file (i.e. remove -Dtimes in favour of having it switched on permanently) |
39 |
_start_time = time.time() |
40 |
||
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
41 |
import codecs |
|
3224.5.29
by Andrew Bennetts
Install lazy_regex code sooner, so that it is there before the stdlib gets a chance to 'import string', which compiles regexes. |
42 |
import sys |
|
1
by mbp at sourcefrog
import from baz patch-364 |
43 |
|
|
3224.5.37
by Andrew Bennetts
Reinstate bzrlib.user_encoding because plugins may still use it, and we don't (yet) have a good way to mark it as deprecated. |
44 |
|
|
5
by mbp at sourcefrog
.bzrignore support |
45 |
IGNORE_FILENAME = ".bzrignore" |
46 |
||
|
1955.2.2
by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py |
47 |
|
|
6437.1.1
by Vincent Ladeuil
Open trunk as 2.6dev1 |
48 |
__copyright__ = "Copyright 2005-2012 Canonical Ltd." |
|
1702.1.2
by Martin Pool
Prepare for 0.8 release |
49 |
|
|
1704.2.8
by Martin Pool
Bump version to 0.9.0 |
50 |
# same format as sys.version_info: "A tuple containing the five components of
|
|
1702.1.2
by Martin Pool
Prepare for 0.8 release |
51 |
# the version number: major, minor, micro, releaselevel, and serial. All
|
52 |
# values except releaselevel are integers; the release level is 'alpha',
|
|
53 |
# 'beta', 'candidate', or 'final'. The version_info value corresponding to the
|
|
|
1704.2.8
by Martin Pool
Bump version to 0.9.0 |
54 |
# Python version 2.0 is (2, 0, 0, 'final', 0)." Additionally we use a
|
55 |
# releaselevel of 'dev' for unreleased under-development code.
|
|
56 |
||
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
57 |
version_info = (3, 0, 0, 'dev', 1) |
|
1704.2.8
by Martin Pool
Bump version to 0.9.0 |
58 |
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
59 |
def _format_version_tuple(version_info): |
|
4098.2.1
by Robert Collins
Allow self documenting hooks. |
60 |
"""Turn a version number 2, 3 or 5-tuple into a short string. |
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
61 |
|
62 |
This format matches <http://docs.python.org/dist/meta-data.html>
|
|
63 |
and the typical presentation used in Python output.
|
|
64 |
||
65 |
This also checks that the version is reasonable: the sub-release must be
|
|
|
3847.1.1
by Matt Nordhoff
Let _format_version_tuple accept alphas/betas/rcs with a subrelease of 0. |
66 |
zero for final releases.
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
67 |
|
|
3185.1.13
by Martin Pool
Fix doctest syntax |
68 |
>>> print _format_version_tuple((1, 0, 0, 'final', 0))
|
|
4634.50.2
by John Arbash Meinel
Fix the tests. |
69 |
1.0.0
|
|
3185.1.13
by Martin Pool
Fix doctest syntax |
70 |
>>> print _format_version_tuple((1, 2, 0, 'dev', 0))
|
|
4634.50.2
by John Arbash Meinel
Fix the tests. |
71 |
1.2.0dev
|
|
5485.3.1
by Martin
Don't rely on bzrlib importing itself in _format_version_tuple doctest |
72 |
>>> print _format_version_tuple((1, 2, 0, 'dev', 1))
|
|
4634.50.2
by John Arbash Meinel
Fix the tests. |
73 |
1.2.0dev1
|
|
3185.1.13
by Martin Pool
Fix doctest syntax |
74 |
>>> print _format_version_tuple((1, 1, 1, 'candidate', 2))
|
75 |
1.1.1rc2
|
|
|
5485.3.1
by Martin
Don't rely on bzrlib importing itself in _format_version_tuple doctest |
76 |
>>> print _format_version_tuple((2, 1, 0, 'beta', 1))
|
|
5160.1.1
by Martin Pool
Show beta versions as 2.2b1 |
77 |
2.1b1
|
|
3388.1.1
by Martin Pool
_format_version_tuple can take a 3-tuple |
78 |
>>> print _format_version_tuple((1, 4, 0))
|
|
4634.50.2
by John Arbash Meinel
Fix the tests. |
79 |
1.4.0
|
|
4098.2.1
by Robert Collins
Allow self documenting hooks. |
80 |
>>> print _format_version_tuple((1, 4))
|
81 |
1.4
|
|
|
5851.2.1
by Martin Pool
_format_version_tuple tolerates more different tuples |
82 |
>>> print _format_version_tuple((2, 1, 0, 'final', 42))
|
83 |
2.1.0.42
|
|
|
3726.1.1
by Martin Pool
Correct exception expression in _format_version_tuple (Mark Hammond) |
84 |
>>> print _format_version_tuple((1, 4, 0, 'wibble', 0))
|
|
5851.2.1
by Martin Pool
_format_version_tuple tolerates more different tuples |
85 |
1.4.0.wibble.0
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
86 |
"""
|
|
4634.50.1
by John Arbash Meinel
Change 'bzr --version' to always give the major.minor.micro version |
87 |
if len(version_info) == 2: |
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
88 |
main_version = '%d.%d' % version_info[:2] |
89 |
else: |
|
90 |
main_version = '%d.%d.%d' % version_info[:3] |
|
|
3388.1.1
by Martin Pool
_format_version_tuple can take a 3-tuple |
91 |
if len(version_info) <= 3: |
92 |
return main_version |
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
93 |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
94 |
release_type = version_info[3] |
95 |
sub = version_info[4] |
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
96 |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
97 |
if release_type == 'final' and sub == 0: |
98 |
sub_string = '' |
|
|
5851.2.1
by Martin Pool
_format_version_tuple tolerates more different tuples |
99 |
elif release_type == 'final': |
100 |
sub_string = '.' + str(sub) |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
101 |
elif release_type == 'dev' and sub == 0: |
102 |
sub_string = 'dev' |
|
|
4634.50.2
by John Arbash Meinel
Fix the tests. |
103 |
elif release_type == 'dev': |
104 |
sub_string = 'dev' + str(sub) |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
105 |
elif release_type in ('alpha', 'beta'): |
|
5160.1.1
by Martin Pool
Show beta versions as 2.2b1 |
106 |
if version_info[2] == 0: |
107 |
main_version = '%d.%d' % version_info[:2] |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
108 |
sub_string = release_type[0] + str(sub) |
109 |
elif release_type == 'candidate': |
|
110 |
sub_string = 'rc' + str(sub) |
|
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
111 |
else: |
|
5851.2.1
by Martin Pool
_format_version_tuple tolerates more different tuples |
112 |
return '.'.join(map(str, version_info)) |
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
113 |
|
|
3849.2.1
by John Arbash Meinel
Cleanup variable names inside a function. |
114 |
return main_version + sub_string |
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
115 |
|
|
4122.1.1
by Martin Pool
Merge back 1.13 and bump version to 1.14dev |
116 |
|
|
5327.1.1
by Parth Malwankar
fixed import order of lazy_regex w.r.t _format_version_tuple definition in bzrlib |
117 |
# lazy_regex import must be done after _format_version_tuple definition
|
|
5327.1.2
by Parth Malwankar
fixed comment |
118 |
# to avoid "no attribute '_format_version_tuple'" error when using
|
119 |
# deprecated_function in the lazy_regex module.
|
|
|
6622.1.1
by Jelmer Vernooij
Rename bzrlib => brzlib, bzr => brz. |
120 |
if getattr(sys, '_brz_lazy_regex', False): |
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
121 |
# The 'brz' executable sets _brz_lazy_regex. We install the lazy regex
|
|
5327.1.1
by Parth Malwankar
fixed import order of lazy_regex w.r.t _format_version_tuple definition in bzrlib |
122 |
# hack as soon as possible so that as much of the standard library can
|
123 |
# benefit, including the 'string' module.
|
|
|
6622.1.1
by Jelmer Vernooij
Rename bzrlib => brzlib, bzr => brz. |
124 |
del sys._brz_lazy_regex |
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
125 |
import breezy.lazy_regex |
126 |
breezy.lazy_regex.install_lazy_compile() |
|
|
5327.1.1
by Parth Malwankar
fixed import order of lazy_regex w.r.t _format_version_tuple definition in bzrlib |
127 |
|
128 |
||
|
3185.1.9
by Martin Pool
Show short version in a more terse form, like "1.2dev" |
129 |
__version__ = _format_version_tuple(version_info) |
|
3185.1.12
by Martin Pool
Restore bzrlib.version_string variable |
130 |
version_string = __version__ |
|
3185.1.5
by Martin Pool
Use a shorter version number, and check that it makes sense. |
131 |
|
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
132 |
|
133 |
def _patch_filesystem_default_encoding(new_enc): |
|
134 |
"""Change the Python process global encoding for filesystem names |
|
135 |
|
|
|
6352.3.5
by Martin Packman
Add to docstring as suggested by vila in review |
136 |
The effect is to change how open() and other builtin functions handle
|
137 |
unicode filenames on posix systems. This should only be done near startup.
|
|
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
138 |
|
139 |
The new encoding string passed to this function must survive until process
|
|
140 |
termination, otherwise the interpreter may access uninitialized memory.
|
|
141 |
The use of intern() may defer breakage is but is not enough, the string
|
|
142 |
object should be secure against module reloading and during teardown.
|
|
143 |
"""
|
|
|
6690.4.3
by Martin
Fix on Python 2.7 from has flag not existing |
144 |
is_py3 = sys.version_info > (3,) |
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
145 |
try: |
146 |
import ctypes |
|
|
6437.13.1
by Martin Packman
Catch ValueError from ctypes to detect lack of CPython api for filesystemencoding patch |
147 |
old_ptr = ctypes.c_void_p.in_dll(ctypes.pythonapi, |
148 |
"Py_FileSystemDefaultEncoding") |
|
|
6690.4.3
by Martin
Fix on Python 2.7 from has flag not existing |
149 |
if is_py3: |
150 |
has_enc = ctypes.c_int.in_dll(ctypes.pythonapi, |
|
151 |
"Py_HasFileSystemDefaultEncoding") |
|
|
6631.5.1
by Martin
Make _patch_filesystem_default_encoding Python 3 compatible |
152 |
as_utf8 = ctypes.PYFUNCTYPE( |
153 |
ctypes.POINTER(ctypes.c_char), ctypes.py_object)( |
|
154 |
("PyUnicode_AsUTF8", ctypes.pythonapi)) |
|
|
6437.13.1
by Martin Packman
Catch ValueError from ctypes to detect lack of CPython api for filesystemencoding patch |
155 |
except (ImportError, ValueError): |
156 |
return # No ctypes or not CPython implementation, do nothing |
|
|
6690.4.3
by Martin
Fix on Python 2.7 from has flag not existing |
157 |
if is_py3: |
158 |
new_enc = sys.intern(new_enc) |
|
159 |
enc_ptr = as_utf8(new_enc) |
|
160 |
has_enc.value = 1 |
|
161 |
else: |
|
162 |
new_enc = intern(new_enc) |
|
163 |
enc_ptr = ctypes.c_char_p(new_enc) |
|
|
6631.5.1
by Martin
Make _patch_filesystem_default_encoding Python 3 compatible |
164 |
old_ptr.value = ctypes.cast(enc_ptr, ctypes.c_void_p).value |
|
6352.3.4
by Martin Packman
Minor tweaks including normalising _fs_enc value |
165 |
if sys.getfilesystemencoding() != new_enc: |
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
166 |
raise RuntimeError("Failed to change the filesystem default encoding") |
167 |
return new_enc |
|
168 |
||
169 |
||
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
170 |
# When running under the brz script, override bad filesystem default encoding.
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
171 |
# This is not safe to do for all users of breezy, other scripts should instead
|
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
172 |
# just ensure a usable locale is set via the $LANG variable on posix systems.
|
173 |
_fs_enc = sys.getfilesystemencoding() |
|
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
174 |
if getattr(sys, "_brz_default_fs_enc", None) is not None: |
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
175 |
if (_fs_enc is None or codecs.lookup(_fs_enc).name == "ascii"): |
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
176 |
_fs_enc = _patch_filesystem_default_encoding(sys._brz_default_fs_enc) |
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
177 |
if _fs_enc is None: |
178 |
_fs_enc = "ascii" |
|
|
6352.3.4
by Martin Packman
Minor tweaks including normalising _fs_enc value |
179 |
else: |
180 |
_fs_enc = codecs.lookup(_fs_enc).name |
|
|
6352.3.2
by Martin Packman
Add mechanism for changing Py_FileSystemDefaultEncoding with ctypes |
181 |
|
182 |
||
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
183 |
# brz has various bits of global state that are slowly being eliminated.
|
|
5222.2.8
by Robert Collins
Store the library state as a global variable so that code with no other way of finding the BzrLibraryState can access it. |
184 |
# This variable is intended to permit any new state-like things to be attached
|
|
5320.2.2
by Robert Collins
Move BzrLibraryState to its own module and prepare to start testing it. |
185 |
# to a library_state.BzrLibraryState object rather than getting new global
|
186 |
# variables that need to be hunted down. Accessing the current BzrLibraryState
|
|
187 |
# through this variable is not encouraged: it is better to pass it around as
|
|
188 |
# part of the context of an operation than to look it up directly, but when
|
|
|
6161.1.1
by Vincent Ladeuil
Allow config options to be overridden from the command line |
189 |
# that is too hard, it is better to use this variable than to make a brand new
|
|
5320.2.2
by Robert Collins
Move BzrLibraryState to its own module and prepare to start testing it. |
190 |
# global variable.
|
|
5222.2.10
by Robert Collins
More NEWS about the bzrlib.initialize contract change, and typographical error fixes for __init__.py. |
191 |
# If using this variable by looking it up (because it can't be easily obtained)
|
|
5222.2.8
by Robert Collins
Store the library state as a global variable so that code with no other way of finding the BzrLibraryState can access it. |
192 |
# it is important to store the reference you get, rather than looking it up
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
193 |
# repeatedly; that way your code will behave properly in the breezy test suite
|
|
5222.2.8
by Robert Collins
Store the library state as a global variable so that code with no other way of finding the BzrLibraryState can access it. |
194 |
# and from programs that do use multiple library contexts.
|
|
6759.4.2
by Jelmer Vernooij
Use get_global_state> |
195 |
_global_state = None |
|
5017.1.1
by Martin Pool
Add bzrlib.initialize |
196 |
|
197 |
||
|
5222.2.4
by Robert Collins
Rather than adding another global thing, use a context manager to represent all the global state. |
198 |
def initialize(setup_ui=True, stdin=None, stdout=None, stderr=None): |
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
199 |
"""Set up everything needed for normal use of breezy. |
|
5017.1.1
by Martin Pool
Add bzrlib.initialize |
200 |
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
201 |
Most applications that embed breezy, including brz itself, should call
|
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
202 |
this function to initialize various subsystems.
|
|
5017.1.1
by Martin Pool
Add bzrlib.initialize |
203 |
|
204 |
More options may be added in future so callers should use named arguments.
|
|
205 |
||
|
5728.4.1
by Martin Pool
bzrlib.initialize now does what you'd expect |
206 |
The object returned by this function can be used as a contex manager
|
207 |
through the 'with' statement to automatically shut down when the process
|
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
208 |
is finished with breezy. However it's not necessary to
|
209 |
separately enter the context as well as starting brz: breezy is ready to
|
|
|
5728.4.1
by Martin Pool
bzrlib.initialize now does what you'd expect |
210 |
go when this function returns.
|
211 |
||
|
6622.1.31
by Jelmer Vernooij
Fix more tests. |
212 |
:param setup_ui: If true (default) use a terminal UI; otherwise
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
213 |
some other ui_factory must be assigned to `breezy.ui.ui_factory` by
|
|
5222.2.4
by Robert Collins
Rather than adding another global thing, use a context manager to represent all the global state. |
214 |
the caller.
|
|
5017.1.1
by Martin Pool
Add bzrlib.initialize |
215 |
:param stdin, stdout, stderr: If provided, use these for terminal IO;
|
216 |
otherwise use the files in `sys`.
|
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
217 |
:return: A context manager for the use of breezy. The __exit__
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
218 |
should be called by the caller before exiting their process or
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
219 |
otherwise stopping use of breezy. Advanced callers can use
|
|
5222.2.9
by Robert Collins
Write up some doc about bzrlib.initialize. |
220 |
BzrLibraryState directly.
|
|
5017.1.1
by Martin Pool
Add bzrlib.initialize |
221 |
"""
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
222 |
from breezy import library_state, trace |
|
5320.2.3
by Robert Collins
Restore the original ui_factory when existing BzrLibraryState. |
223 |
if setup_ui: |
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
224 |
import breezy.ui |
|
5320.2.3
by Robert Collins
Restore the original ui_factory when existing BzrLibraryState. |
225 |
stdin = stdin or sys.stdin |
226 |
stdout = stdout or sys.stdout |
|
227 |
stderr = stderr or sys.stderr |
|
|
6622.1.34
by Jelmer Vernooij
Rename brzlib => breezy. |
228 |
ui_factory = breezy.ui.make_ui_for_terminal(stdin, stdout, stderr) |
|
5320.2.3
by Robert Collins
Restore the original ui_factory when existing BzrLibraryState. |
229 |
else: |
230 |
ui_factory = None |
|
|
5327.2.3
by Parth Malwankar
updated te import style for bzrlib.trace |
231 |
tracer = trace.DefaultConfig() |
|
5728.4.1
by Martin Pool
bzrlib.initialize now does what you'd expect |
232 |
state = library_state.BzrLibraryState(ui=ui_factory, trace=tracer) |
233 |
# Start automatically in case people don't realize this returns a context.
|
|
234 |
state._start() |
|
235 |
return state |
|
|
5222.2.8
by Robert Collins
Store the library state as a global variable so that code with no other way of finding the BzrLibraryState can access it. |
236 |
|
237 |
||
|
6759.4.2
by Jelmer Vernooij
Use get_global_state> |
238 |
def get_global_state(): |
239 |
if _global_state is None: |
|
240 |
return initialize() |
|
241 |
return _global_state |
|
242 |
||
243 |
||
|
5222.2.8
by Robert Collins
Store the library state as a global variable so that code with no other way of finding the BzrLibraryState can access it. |
244 |
def test_suite(): |
245 |
import tests |
|
246 |
return tests.test_suite() |