Feedback from evaluation in a corporate environment

Paul Moore p.f.moore at gmail.com
Fri Jan 8 10:37:22 GMT 2010


2010/1/8 Andrew Cowie <andrew at operationaldynamics.com>:
> On Fri, 2010-01-08 at 17:02 +1100, Martin Pool wrote:
>
>> More generally, yes, it's possible to use most tools in a way that
>> makes them slow, and we have more to do to make the obvious way always
>> the best way.  Read the manual, or ask, or just try it.  It's not hard
>> to use bzr in a way that makes it fast and easy.
>
> Yes, but it's astonishingly easy to use bzr in a way that makes it slow
> and confusing.
>
> Indeed, if the first thing you do is:
>
> $ bzr init
>
> our poor user is probably already on the wrong track
>
> [because you meet `bzr init` before you meet the "more advanced" concept
> of Shared Repositories which are a) utterly necessary if you want bzr to
> be fast after you've got the first branch in, and b) hard to use easily.
> So well done at making bzr lovely and supportive of different layouts,
> and oops for allowing new users to easily shoot themselves in the foot
> unless we try REALLY hard to convince them not to. And this is just one
> example we all know and treasure¹]

To be brutally honest (and yes, I *know* I've beaten this one to death
in the past) the fact that "bzr init" results in an unacceptably slow
configuration is the single biggest issue with pain-free adoption of
Bazaar, IMHO.

Having to set up a repository, and deal with the directory structuring
and workflow issues necessary to work efficiently with it, (a) make it
feel like you're setting up a centralised system[1] and (b) irritate
the heck out of a certain group of users who have their own
conflicting layout policy (that group may consist solely of me, I
admit :-))

Being told that Bazaar is easy to use and adapt to your workflows, but
then being told that you have to change your approach because
otherwise performance sucks, is a nasty contradictory message which
reinforces the "Bazaar is slow" impression in spite of reality being
subtly different.

If bzr init is *not* the correct command for beginners to use, it
should probably be removed or renamed as it's an attractive nuisance.
Actually, you'd have to remove "bzr branch" too, as my canonical
"naive check that proves Bazaar is still slow" is "bzr branch
some-big-open-source-repo-like-python-or-emacs". OK, that's not
practical. Make bzr init and bzr branch warn if run outside a shared
repo? (Note: I'm sure a number of users will hate this - but to an
extent it's a choice between hating an obvious and clear warning vs
hating subtle and inconsistent performance problems). The real answer
is to make standalone "bzr init" produce a configuration in which
performance doesn't suck. AIUI, both Mercurial and Git manage this, so
it's not an unrealistic goal to expect to achieve.

Paul.

[1] I've set up local filesystem-based Subversion systems for personal
VC before I discovered DVCS, and Bazaar with a shared repository feels
*very* similar to that - this is *not* a good thing...

PS I know it's more complex than "bzr init is bad" - please excuse my
abbreviating the more accurate description of the issue to "bzr init".



More information about the bazaar mailing list