~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/__init__.py

  • Committer: Jelmer Vernooij
  • Date: 2011-04-05 13:58:33 UTC
  • mfrom: (5757 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5770.
  • Revision ID: jelmer@samba.org-20110405135833-lzphu3vh7vzubiz9
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
157
157
 
158
158
    More options may be added in future so callers should use named arguments.
159
159
 
 
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.
 
165
 
160
166
    :param setup_ui: If true (default) use a terminal UI; otherwise 
161
167
        some other ui_factory must be assigned to `bzrlib.ui.ui_factory` by
162
168
        the caller.
163
169
    :param stdin, stdout, stderr: If provided, use these for terminal IO;
164
170
        otherwise use the files in `sys`.
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__
 
171
    :return: A context manager for the use of bzrlib. The __exit__
167
172
        should be called by the caller before exiting their process or
168
173
        otherwise stopping use of bzrlib. Advanced callers can use
169
174
        BzrLibraryState directly.
178
183
    else:
179
184
        ui_factory = None
180
185
    tracer = trace.DefaultConfig()
181
 
    return library_state.BzrLibraryState(ui=ui_factory, trace=tracer)
 
186
    state = library_state.BzrLibraryState(ui=ui_factory, trace=tracer)
 
187
    # Start automatically in case people don't realize this returns a context.
 
188
    state._start()
 
189
    return state
182
190
 
183
191
 
184
192
def test_suite():