← Back to team overview

bzr-explorer-dev team mailing list archive

Re: [qbzr] [RFH] Rework Bazaar Explorer + QBzr to use separate process for bzr operations and main process only as GUI presenter

 

John Arbash Meinel пишет:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 5/3/2011 9:55 PM, Alexander Belchenko wrote:
Hi all,

During many last months I'm thinking about reworking Bazaar Explorer
(and QBzr as well) to new architecture. Currently we have enough bug
reports about stability (sometimes related to Qt itself), about issues
with refresh feature of explorer, plus we have performance issues with
big trees, plus responsiveness of UI. I'm going to mark such reports
with some distinctive tag so I can provide better overview of them.

My plan for attacking this (very important and very hard) problem:

For all bzr operations, the most often used by explorer is getting
status of working tree, -- start new separate process for each bzr
location. That process works as server and can talk with any number of
clients via IPC mechanism (I'm thinking about using cross-platform
QLocalSocket/QLocalServer from PyQt4 if that matters).

I think this is an interesting model, I'm not sure how well it will work
in practice, mostly because of the complexity of the operation.

Yes :-/ But at least TortoiseBzr works for similar model and it kinda work.

If you're going to put effort into this, I would probably look into how
bzr-xmloutput works, because I think that also intends to have an XML
RPC style interface server between clients. (Though I think just one
server, rather than one per location.)

Thank you for the pointer, I'll take a look on xmloutput.

I'll also note that you're idea to watch the bzr control files is
interesting, but really you want to watch the directory contents for
changes. Since you have to run a bzr action to change the control files,
while users generally just edit their files and then use qbzr to commit,
etc. So they are already telling you when they've edited things.

Currently Bazaar Explorer is watching files which have been passed to editor from Bazaar Explorer itself and it works very smooth for small trees. So, yes, we should watch the files as well. I'm not quite sure yet should we watch entire bzr location for any changes and how well it works with many many subdirectories.

--
All the dude wanted was his rug back


Follow ups

References