RFC: Always use remote branches?

Robert Collins robertc at robertcollins.net
Mon Nov 17 04:30:50 GMT 2008


On Tue, 2008-11-11 at 11:58 -0500, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi all,
> 
> I was just thinking about the possibility of using RemoteBranch all the
> time.

I've thought about this, and I think the downsides are substantial
today; if they were removed I can certainly see doing that as a way to
ensure the code path for RemoteBranch isn't a second class citizen.

>   It would allow us to test that functionality more thoroughly, and
> might allow us to take better advantage of multiple cores (if we were a
> bit more async, I guess), since there would be two processes in play.
> We could run the smart protocol over a pipe, or on uniprocessor
> machines, we could even do an "in-process pipe".

Here are the downsides I see:
 - in-process will work badly (python isn't really threaded)
 - out-process requires another large-fraction-of-a-second to startup
 - on uniprocessor machines we're adding serialised serialisation and 
   deserialisation of all our branch and history data
 - there is extra complexity (such as making sure we run the same bzr
   again for out-process stuff) which could lead to bugs or issues.

I think a useful thing would be to have a switch which enables doing
RemoteBranch for local branches, which devs could use while debugging.
OTOH I think its a bit crude to force testing of this stuff outside of
the test suite; so just keeping everything well tested might be
sufficient?

-Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081117/829d5dcf/attachment-0001.pgp 


More information about the bazaar mailing list