59
59
from bzrlib.repository import RepositoryWriteLockResult, _LazyListJoin
60
60
from bzrlib.serializer import format_registry as serializer_format_registry
61
61
from bzrlib.trace import mutter, note, warning, log_exception_quietly
62
from bzrlib.versionedfile import ChunkedContentFactory, FulltextContentFactory
64
65
_DEFAULT_SEARCH_DEPTH = 100
348
349
_mod_bzrdir.BzrDirMetaFormat1._set_repository_format) #.im_func)
351
class RemoteControlStore(config.IniFileStore):
352
class RemoteControlStore(_mod_config.IniFileStore):
352
353
"""Control store which attempts to use HPSS calls to retrieve control store.
354
355
Note that this is specific to bzr-based formats.
378
379
def _ensure_real(self):
379
380
self.bzrdir._ensure_real()
380
381
if self._real_store is None:
381
self._real_store = config.ControlStore(self.bzrdir)
382
self._real_store = _mod_config.ControlStore(self.bzrdir)
383
384
def external_url(self):
384
385
return self.bzrdir.user_url
480
481
warning('VFS BzrDir access triggered\n%s',
481
482
''.join(traceback.format_stack()))
482
483
self._real_bzrdir = _mod_bzrdir.BzrDir.open_from_transport(
483
self.root_transport, _server_formats=False)
484
self.root_transport, probers=[_mod_bzrdir.BzrProber])
484
485
self._format._network_name = \
485
486
self._real_bzrdir._format.network_name()
1843
1844
delta, new_revision_id, parents, basis_inv=basis_inv,
1844
1845
propagate_caches=propagate_caches)
1846
def add_revision(self, rev_id, rev, inv=None, config=None):
1848
return self._real_repository.add_revision(
1849
rev_id, rev, inv=inv, config=config)
1847
def add_revision(self, revision_id, rev, inv=None):
1848
_mod_revision.check_not_reserved_id(revision_id)
1849
key = (revision_id,)
1850
# check inventory present
1851
if not self.inventories.get_parent_map([key]):
1853
raise errors.WeaveRevisionNotPresent(revision_id,
1856
# yes, this is not suitable for adding with ghosts.
1857
rev.inventory_sha1 = self.add_inventory(revision_id, inv,
1860
rev.inventory_sha1 = self.inventories.get_sha1s([key])[key]
1861
self._add_revision(rev)
1863
def _add_revision(self, rev):
1864
if self._real_repository is not None:
1865
return self._real_repository._add_revision(rev)
1866
text = self._serializer.write_revision_to_string(rev)
1867
key = (rev.revision_id,)
1868
parents = tuple((parent,) for parent in rev.parent_ids)
1869
self._write_group_tokens, missing_keys = self._get_sink().insert_stream(
1870
[('revisions', [FulltextContentFactory(key, parents, None, text)])],
1871
self._format, self._write_group_tokens)
1851
1873
@needs_read_lock
1852
1874
def get_inventory(self, revision_id):
3181
class RemoteBranchStore(config.IniFileStore):
3203
class RemoteBranchStore(_mod_config.IniFileStore):
3182
3204
"""Branch store which attempts to use HPSS calls to retrieve branch store.
3184
3206
Note that this is specific to bzr-based formats.
3222
3244
def _ensure_real(self):
3223
3245
self.branch._ensure_real()
3224
3246
if self._real_store is None:
3225
self._real_store = config.BranchStore(self.branch)
3247
self._real_store = _mod_config.BranchStore(self.branch)
3228
3250
class RemoteBranch(branch.Branch, _RpcHelper, lock._RelockDebugMixin):
3942
3964
value = section_obj.get(name, default)
3943
3965
except errors.UnknownSmartMethod:
3944
3966
value = self._vfs_get_option(name, section, default)
3945
for hook in config.OldConfigHooks['get']:
3967
for hook in _mod_config.OldConfigHooks['get']:
3946
3968
hook(self, name, value)
3950
3972
if len(response[0]) and response[0][0] != 'ok':
3951
3973
raise errors.UnexpectedSmartServerResponse(response)
3952
3974
lines = response[1].read_body_bytes().splitlines()
3953
conf = config.ConfigObj(lines, encoding='utf-8')
3954
for hook in config.OldConfigHooks['load']:
3975
conf = _mod_config.ConfigObj(lines, encoding='utf-8')
3976
for hook in _mod_config.OldConfigHooks['load']: