Comment 5 for bug 675196

Revision history for this message
Luca Saiu (saiu) wrote : Re: Can't upload branch - permission denied

In response to Martin Pool:
 I think you'r right about that, the fact that the branch owner is not specified may well be the cause (didn't I specify that the code is owned by marionnet-drivers by default somewhere? Mmm, I'm not so sure anymore; maybe there isn't a default...).
In fact I've just noticed that making a branch *explicitly* owned by the team with bzr works:

bzr push --verbose lp:~marionnet-drivers/ocamlbricks/booboo

And I can also make several branches in the same project with identical names, and different owners:

bzr push --verbose lp:~saiu/ocamlbricks/booboo
bzr push --verbose lp:~marionnet-dev/ocamlbricks/booboo

I wasn't expecting this, because often we pull, merge or get from branches with an unspecified owner. This has always worked:

bzr get --verbose lp:ocamlbricks/trunk

Yet, this doesn't work when there are three booboo branches:

bzr get --verbose lp:ocamlbricks/booboo
/usr/lib/python2.6/dist-packages/Crypto/Util/randpool.py:40: RandomPool_DeprecationWarning: This application uses RandomPool, which is BROKEN in older releases. See http://www.pycrypto.org/randpool-broken
  RandomPool_DeprecationWarning)
bzr: ERROR: Permission denied: "Cannot create 'booboo'. Only Bazaar branches are allowed."

I delete two booboo branches from Launchpad, the ones owned by marionnet-drivers and marionnet-dev; the branch owned by saiu still exist, and I try to refer to it without specifying an owner. No luck:

bzr get --verbose lp:ocamlbricks/booboo
/usr/lib/python2.6/dist-packages/Crypto/Util/randpool.py:40: RandomPool_DeprecationWarning: This application uses RandomPool, which is BROKEN in older releases. See http://www.pycrypto.org/randpool-broken
  RandomPool_DeprecationWarning)
bzr: ERROR: Permission denied: "Cannot create 'booboo'. Only Bazaar branches are allowed."

The same happens if I only leave the booboo branch owned by marionnet-drivers. But then why is trunk, which I can get without specifying an owner, different?

Again, specifying the owner works:
bzr get --verbose lp:~saiu/ocamlbricks/booboo

Of course I know that "maximum recursion depth exceeded" wasn't intended as a direct response to the specific error condition; I was being sarcastic which was not a constructive reaction. I apologize for that -- but I assure you that the situation was pretty frustrating. Also look at the message above: I think that "Cannot create 'booboo'. Only Bazaar branches are allowed." is also a quite bad error message for a *get* failure where the branch indeed exists (even more than one!).

I like bzr but I think it can be made friendlier.

By the way, I'm Luca Saiu; I also was at the GHM in Den Haag, but I don't think we spoke; happy to meet another GNU guy.
And sorry again.