lock_* API change

Robert Collins robertc at robertcollins.net
Fri May 14 08:26:26 BST 2010


On Fri, May 14, 2010 at 5:59 PM, Russel Winder <russel at russel.org.uk> wrote:
> On Thu, 2010-05-13 at 13:44 +0200, Jelmer Vernooij wrote:
>> On Wed, 2010-05-12 at 19:18 +1200, Robert Collins wrote:
>> > Yesterday we landed a change to the lock_* API's which needs an action
>> > taken by all implementors of lock_* methods. In particular,
>> > bzr-svn/bzr-git/bzr-hg are likely to need an update.
>> >
>> > The change is pretty trivial - see the patch in trunk.
>> Is this in preparation of the (eventual) removal of
>> {Repository,Branch,WorkingTree}.unlock() ? What are your plans with the
>> locking API ?
>
> A number of what I hope are interrelated and constructive, albeit
> somewhat adversely critical, observations:
>
> 1.  It seems strange that a breaking change has been made to bzr.dev
> that has caught plugin developers by surprise.

Its entirely normal for trunk bzr and trunk plugin bzr-FOO to be out
of sync from time to time. We use this list to talk about things like
this. I don't know if Jelmer was caught by surprise or not - the merge
in question was up for a week or so - it wasn't rushed through in any
sense.

> 2.  I had thought the Bazaar development team liked having a few brave
> souls use bzr.dev as a form of alpha testing.

Early feedback is great; dealing with occasional broken dependencies
is part of the risk of being one of those early testers: all bzr
developers are in that set, and we're delighted when other people want
to be in the alpha-test group too. However we make no warranty about
having a complete stack on the edge.

> 3.  bzr.dev is currently unusable for anyone requiring bzr-svn to work.
>
> 4.  Plugins and bzr evolve in different timescales.
>
> 5.  Users are encouraged to use Bazaar to obtain plugins that are not
> packaged.  The head of the plugin can assume a random version of Bazaar,
> which leads to versioning chaos.
>
> 6.  bzr-pipeline head is currently only compatible with bzr.dev.
>
> 7.  Having both bzr-svn and bzr-pipeline installed by using Bazaar leads
> to there being no version of bzr that works properly.
>
> 8. I am very grumpy this morning.

:) I think its a shame that bzr-pipeline isn't working with 2.1; it
would be nice to fix that.

> 9.  Python 3.1 still seems to be 10% slower than Python 2.6.
>
> 10.  Is there a rationale for having a Bazaar branch of bzr/bzrtools
> that is deemed to be the alpha test version to which no breaking changes
> are made without prior notification to the wider world.

bzr.dev would meet that constraint at the moment; all code changes get
reviewed; none of us is going to land a [deliberately] breaking change
without it being peer reviewed - and that provides prior notification.

I feel that if you want a no-bumps ride, you should be using 2.1.x, or
the release PPA. nightlies, trunk, and other on-the-edge builds *will*
break from time to time, and that needs to be factored in in assessing
whether its right for you.

I suspect your particular pain point here is that pipeline isn't
working with the current stable branch, so you have no fallback
position to switch to. We should fix that [is there a bug?]

-Rob



More information about the bazaar mailing list