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

Alexander Belchenko bialix at ukr.net
Wed May 4 09:04:49 UTC 2011


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



More information about the bazaar mailing list