Comment 6 for bug 112028

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 112028] Re: don't open repository unless/until needed

On Fri, 2007-11-30 at 16:13 +0000, John A Meinel wrote:
> I noticed a large difference for "bzr status" when with a lightweight
> checkout over bzr+ssh://. Partly that is because spawning a bzr process
> on my server takes approx 1s.
>
> If you want to test it yourself you can do:
>
> cd ~/.bazaar/plugins
> bzr checkout lp:bzr-hello hello
> bzr hello bzr+ssh://localhost
>
> (that plugin connects, and then sends ~20 hello requests to time how
> long it takes to start up the remote 'bzr serve', and then how much a
> single round-trip request takes.)
>
> Since "time bzr status" in a bzr.dev tree is ~1s, (time bzr rocks on
> that machine is 600ms)
>
> So even when it is on the local network, not connecting to the branch
> and repository is advantageous.
>
> And even more so if someone wants to make a lightweight checkout of a
> Launchpad branch (think of what people do with CVS and Sourceforge all
> the time). They don't want to hack on it, they just want a way to have
> the latest code available. Lightweight checkouts mean you don't have to
> wait for them to download all of history. That is fixable in the longer
> term with shallow branches, history horizons, etc. But just not
> connecting is a nice first step.

We've had this discussion before. I know I think that lazy connecting is
a fundamentally bad idea. We set tree policy from the repository for
instance. Users expect bzr operations to work, and most won't if the
repository is damaged or absent.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.