bzr-gedit Roadmap

John Arbash Meinel john at
Tue Apr 22 20:39:44 BST 2008

Hash: SHA1

Javier Derderian wrote:
| Hi!
|     You need to be aware of how it may affect the application's
|     responsiveness: bzrlib is an synchronous API, meaning that when it
|     takes a long time to complete a command, it prevents anything else
|     from running in the same thread.
| I'm planning to integrate bzr progress indicators in this plugin, and that
| makes the "waiting" much smoother, i think.
| Anyway, I'll also do some test running bzr commands inside threads
| to allow gedit to keep working. But since the commands that took
| loonger (pull, push, etc) have a dialog and that dialog is modal
| it may not be a bad idea to just work with the progress indicator.
| --
| Javier Derderian
| javierder at <mailto:javierder at>
| ---
| En la Alegría serás Imbatible

I know there are a few places inside bzrlib that are explicitly not threadsafe.
I've encountered it mostly through the ui_factory.get_nested_progress().
Specifically, it assumes that it grows as a simple stack, and the last process
to be started is the first to call .finished().

A lot of the code is probably thread safe, but the UI code is not. It might be
possible to write your own ui_factory which was thread safe, which would then
not cause this problem.

Just letting you know what I've run into.


Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla -


More information about the bazaar mailing list