1
# Copyright (C) 2005-2011 Canonical Ltd
1
# Copyright (C) 2005-2010 Canonical Ltd
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
52
52
# Python version 2.0 is (2, 0, 0, 'final', 0)." Additionally we use a
53
53
# releaselevel of 'dev' for unreleased under-development code.
55
version_info = (2, 4, 0, 'dev', 3)
55
version_info = (2, 3, 0, 'dev', 2)
57
57
# API compatibility version
58
api_minimum_version = (2, 4, 0)
58
api_minimum_version = (2, 3, 0)
61
61
def _format_version_tuple(version_info):
72
72
>>> print _format_version_tuple((1, 2, 0, 'dev', 0))
74
>>> print _format_version_tuple((1, 2, 0, 'dev', 1))
74
>>> print bzrlib._format_version_tuple((1, 2, 0, 'dev', 1))
76
76
>>> print _format_version_tuple((1, 1, 1, 'candidate', 2))
78
>>> print _format_version_tuple((2, 1, 0, 'beta', 1))
78
>>> print bzrlib._format_version_tuple((2, 1, 0, 'beta', 1))
80
80
>>> print _format_version_tuple((1, 4, 0))
82
82
>>> print _format_version_tuple((1, 4))
84
>>> print _format_version_tuple((2, 1, 0, 'final', 1))
84
>>> print bzrlib._format_version_tuple((2, 1, 0, 'final', 1))
85
85
Traceback (most recent call last):
87
87
ValueError: version_info (2, 1, 0, 'final', 1) not valid
158
158
More options may be added in future so callers should use named arguments.
160
The object returned by this function can be used as a contex manager
161
through the 'with' statement to automatically shut down when the process
162
is finished with bzrlib. However (from bzr 2.4) it's not necessary to
163
separately enter the context as well as starting bzr: bzrlib is ready to
164
go when this function returns.
166
160
:param setup_ui: If true (default) use a terminal UI; otherwise
167
161
some other ui_factory must be assigned to `bzrlib.ui.ui_factory` by
169
163
:param stdin, stdout, stderr: If provided, use these for terminal IO;
170
164
otherwise use the files in `sys`.
171
:return: A context manager for the use of bzrlib. The __exit__
165
:return: A context manager for the use of bzrlib. The __enter__ method of
166
this context needs to be called before it takes effect, and the __exit__
172
167
should be called by the caller before exiting their process or
173
168
otherwise stopping use of bzrlib. Advanced callers can use
174
169
BzrLibraryState directly.
184
179
ui_factory = None
185
180
tracer = trace.DefaultConfig()
186
state = library_state.BzrLibraryState(ui=ui_factory, trace=tracer)
187
# Start automatically in case people don't realize this returns a context.
181
return library_state.BzrLibraryState(ui=ui_factory, trace=tracer)
192
184
def test_suite():