134
133
self._next_open_branch_result = None
135
134
return BzrDir.break_lock(self)
137
def cloning_metadir(self, stacked=False):
136
def _vfs_cloning_metadir(self, require_stacking=False):
138
137
self._ensure_real()
139
return self._real_bzrdir.cloning_metadir(stacked)
138
return self._real_bzrdir.cloning_metadir(
139
require_stacking=require_stacking)
141
def cloning_metadir(self, require_stacking=False):
142
medium = self._client._medium
143
if medium._is_remote_before((1, 13)):
144
return self._vfs_cloning_metadir(require_stacking=require_stacking)
145
verb = 'BzrDir.cloning_metadir'
150
path = self._path_for_remote_call(self._client)
152
response = self._call(verb, path, stacking)
153
except errors.UnknownSmartMethod:
154
return self._vfs_cloning_metadir(require_stacking=require_stacking)
155
if len(response) != 3:
156
raise errors.UnexpectedSmartServerResponse(response)
157
control_name, repo_name, branch_name = response
158
format = bzrdir.network_format_registry.get(control_name)
160
format.repository_format = repository.network_format_registry.get(
163
format.set_branch_format(
164
branch.network_format_registry.get(branch_name))
141
167
def create_repository(self, shared=False):
142
168
# as per meta1 formats - just delegate to the format object which may