I believe the original bug report was slightly wrong, re-opening as I think it is
still an issue.
It should have been
bzr export localname bzr+ssh://bazaar.launchpad.net/~oubiwann/project/branch/subdir
bzr: ERROR: Permission denied: "Cannot create 'subdir'. Only Bazaar branches are allowed."
Consider
bzr ls lp:~bzr/bzr/trunk/bzrlib/
bzr: ERROR: Permission denied: "Cannot create 'bzrlib'. Only Bazaar branches are allowed."
Traceback (most recent call last):
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/commands.py", line 835, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/commands.py", line 1030, in run_bzr
ret = run(*run_argv)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/commands.py", line 647, in run_argv_aliases
return self.run(**all_cmd_args)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/builtins.py", line 2735, in run
b, subdir = Branch.open_containing(branch_or_subdir)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/branch.py", line 181, in open_containing
possible_transports)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/bzrdir.py", line 891, in open_containing
return BzrDir.open_containing_from_transport(transport)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/bzrdir.py", line 912, in open_containing_from_transport
result = BzrDir.open_from_transport(a_transport)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/bzrdir.py", line 871, in open_from_transport
return format.open(transport, _found=True)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/bzrdir.py", line 2052, in open
return self._open(transport)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/bzrdir.py", line 3279, in _open
return remote.RemoteBzrDir(transport, self)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/remote.py", line 110, in __init__
response = self._call('BzrDir.open', path)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/remote.py", line 56, in _call
self._translate_error(err, **err_context)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/remote.py", line 128, in _translate_error
_translate_error(err, bzrdir=self, **context)
File "/home/jw2328/devel/bzr/bzr.dev/bzrlib/remote.py", line 2668, in _translate_error
raise errors.PermissionDenied(path, extra=extra)
so calling BzrDir.open on a path that is "under" a branch is rejected by LP.
Presumably if it just says "not found" to the open request then bzr would continue
and open the containing branch.
I'm not sure how this would affect the ability to reject pushes to arbitrary locations
though.
Hi,
I believe the original bug report was slightly wrong, re-opening as I think it is
still an issue.
It should have been
bzr export localname bzr+ssh: //bazaar. launchpad. net/~oubiwann/ project/ branch/ subdir
bzr: ERROR: Permission denied: "Cannot create 'subdir'. Only Bazaar branches are allowed."
Consider
bzr ls lp:~bzr/bzr/trunk/bzrlib/
bzr: ERROR: Permission denied: "Cannot create 'bzrlib'. Only Bazaar branches are allowed."
Traceback (most recent call last): jw2328/ devel/bzr/ bzr.dev/ bzrlib/ commands. py", line 835, in exception_ to_return_ code jw2328/ devel/bzr/ bzr.dev/ bzrlib/ commands. py", line 1030, in run_bzr jw2328/ devel/bzr/ bzr.dev/ bzrlib/ commands. py", line 647, in run_argv_aliases **all_cmd_ args) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ builtins. py", line 2735, in run open_containing (branch_ or_subdir) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ branch. py", line 181, in open_containing transports) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 891, in open_containing open_containing _from_transport (transport) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 912, in open_containing _from_transport open_from_ transport( a_transport) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 871, in open_from_transport open(transport, _found=True) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 2052, in open transport) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 3279, in _open RemoteBzrDir( transport, self) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ remote. py", line 110, in __init__ 'BzrDir. open', path) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ remote. py", line 56, in _call _translate_ error(err, **err_context) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ remote. py", line 128, in _translate_error error(err, bzrdir=self, **context) jw2328/ devel/bzr/ bzr.dev/ bzrlib/ remote. py", line 2668, in _translate_error PermissionDenie d(path, extra=extra)
File "/home/
return the_callable(*args, **kwargs)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
b, subdir = Branch.
File "/home/
possible_
File "/home/
return BzrDir.
File "/home/
result = BzrDir.
File "/home/
return format.
File "/home/
return self._open(
File "/home/
return remote.
File "/home/
response = self._call(
File "/home/
self.
File "/home/
_translate_
File "/home/
raise errors.
so calling BzrDir.open on a path that is "under" a branch is rejected by LP.
Presumably if it just says "not found" to the open request then bzr would continue
and open the containing branch.
I'm not sure how this would affect the ability to reject pushes to arbitrary locations
though.
Thanks,
James