Rev 2751: Move pack repository start_write_group to pack collection object in http://sourcefrog.net/bzr/pack-repository
Martin Pool
mbp at sourcefrog.net
Wed Sep 19 06:12:54 BST 2007
At http://sourcefrog.net/bzr/pack-repository
------------------------------------------------------------
revno: 2751
revision-id: mbp at sourcefrog.net-20070919051252-trwq0anc4rqzf6pr
parent: mbp at sourcefrog.net-20070919042142-6816rhjjc6apvrii
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: pack-repository
timestamp: Wed 2007-09-19 15:12:52 +1000
message:
Move pack repository start_write_group to pack collection object
modified:
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py 2007-09-19 04:21:42 +0000
+++ b/bzrlib/repofmt/pack_repo.py 2007-09-19 05:12:52 +0000
@@ -817,6 +817,23 @@
if self.repo.control_files._lock_mode != 'w':
raise errors.NotWriteLocked(self)
+ def _start_write_group(self):
+ random_name = self.repo.control_files._lock.nonce
+ self.repo._open_pack_tuple = (self.repo._upload_transport, random_name + '.pack')
+ write_stream = self.repo._upload_transport.open_write_stream(random_name + '.pack')
+ self.repo._write_stream = write_stream
+ self.repo._open_pack_hash = md5.new()
+ def write_data(bytes, write=write_stream.write,
+ update=self.repo._open_pack_hash.update):
+ write(bytes)
+ update(bytes)
+ self.repo._open_pack_writer = pack.ContainerWriter(write_data)
+ self.repo._open_pack_writer.begin()
+ self.setup()
+ self.repo._revision_store.setup()
+ self.repo.weave_store.setup()
+ self.repo._inv_thunk.setup()
+
class GraphKnitRevisionStore(KnitRevisionStore):
"""An object to adapt access from RevisionStore's to use GraphKnits.
@@ -1264,7 +1281,6 @@
KnitRepository.__init__(self, _format, a_bzrdir, control_files,
_revision_store, control_store, text_store)
index_transport = control_files._transport.clone('indices')
- self._index_transport = index_transport
self._packs = RepositoryPackCollection(self, control_files._transport,
index_transport)
self._revision_store = GraphKnitRevisionStore(self, index_transport, self._revision_store)
@@ -1297,20 +1313,7 @@
self._packs.reset()
def _start_write_group(self):
- random_name = self.control_files._lock.nonce
- self._open_pack_tuple = (self._upload_transport, random_name + '.pack')
- write_stream = self._upload_transport.open_write_stream(random_name + '.pack')
- self._write_stream = write_stream
- self._open_pack_hash = md5.new()
- def write_data(bytes, write=write_stream.write, update=self._open_pack_hash.update):
- write(bytes)
- update(bytes)
- self._open_pack_writer = pack.ContainerWriter(write_data)
- self._open_pack_writer.begin()
- self._packs.setup()
- self._revision_store.setup()
- self.weave_store.setup()
- self._inv_thunk.setup()
+ self._packs._start_write_group()
def _commit_write_group(self):
data_inserted = (self._revision_store.data_inserted() or
@@ -1397,7 +1400,6 @@
KnitRepository3.__init__(self, _format, a_bzrdir, control_files,
_revision_store, control_store, text_store)
index_transport = control_files._transport.clone('indices')
- self._index_transport = index_transport
self._packs = RepositoryPackCollection(self, control_files._transport,
index_transport)
self._revision_store = GraphKnitRevisionStore(self, index_transport, self._revision_store)
@@ -1430,20 +1432,7 @@
self._packs.reset()
def _start_write_group(self):
- random_name = self.control_files._lock.nonce
- self._open_pack_tuple = (self._upload_transport, random_name + '.pack')
- write_stream = self._upload_transport.open_write_stream(random_name + '.pack')
- self._write_stream = write_stream
- self._open_pack_hash = md5.new()
- def write_data(bytes, write=write_stream.write, update=self._open_pack_hash.update):
- write(bytes)
- update(bytes)
- self._open_pack_writer = pack.ContainerWriter(write_data)
- self._open_pack_writer.begin()
- self._packs.setup()
- self._revision_store.setup()
- self.weave_store.setup()
- self._inv_thunk.setup()
+ self._packs._start_write_group()
def _commit_write_group(self):
data_inserted = (self._revision_store.data_inserted() or
More information about the bazaar-commits
mailing list