Not possible to pull or update using smart server in 2.3.0

Eric Siegerman lists08-bzr at davor.org
Sun Feb 20 21:40:32 UTC 2011


On Sun, 2011-02-20 at 10:55 +0100, Nicholas Allen wrote:
>
> > i.e. at some hint about whether it's a branch, a repo, the repo's
> > branch, is there a working tree there ?
> >   
> Actually I found out something that might help. My local branch is a
> lightweight checkout of a branch in my local shared repository. If I
> bind it so that it's bound to the server then I can't pull or update.
If
> I unbind it first it seems to work.

Bazaar isn't too happy to work with a checkout of a checkout.
Sometimes it tells you that explicitly:
    bzr: ERROR: Cannot commit to branch [c]. It is bound to [b], \
    which is bound to [a].
The problem is that sometimes it doesn't detect the situation, so
instead of giving you a nice error message, it gets itself tied
up in knots.  Just what sort of knot depends on the specific
combination of heavy/lightweight checkouts, and also on the
connection methods used for both hops (e.g. bzr+ssh:, bzr:, or
simple local pathnames).

http://article.gmane.org/gmane.comp.version-control.bazaar-ng.general/70452
might shed a bit more light, although it talks about a slightly
different situation -- two heavy checkouts in a chain, instead a
lightweight one chained to a heavy one as in your situation.  It
also digresses a bit.

Unfortunately, what all of this boils down to is: don't make a
checkout from another checkout; it makes Bazaar terribly
confused.


Diving deeper:

In some cases, I think https://bugs.launchpad.net/bzr/+bug/325296
is the underlying problem -- Bazaar doesn't detect that the
parent is in fact a checkout.  It's not clear whether that
explains all such failures to diagnose the checkout-of-a-checkout
no-no.

I tried to reproduce this, using 2.3.0.  I think I saw your
protocol-error message at some point, but I can't repeat it.  I
also got a few "Too many concurrent connections" errors, but
can't reproduce those either.  What I'm now seeing consistently
is this:
    bzr: ERROR: Cannot lock \
    LockDir(filtered-157504492:///a/.bzr/branch/lock): \
    Transport operation not possible: readonly transport 

which seems as though it's at least a step or two closer to the
underlying problem in the lightweight->heavyweight case.

I don't know why the problem sometimes manifests as a protocol
error.  (A separate bug, perhaps?  I.e. a botched attempt to send
the "readonly transport" error diagnostic back to the client?)

  - Eric





More information about the bazaar mailing list