Rev 2704: Change from using Transport.append to Transport file_streams for pack creation, saving 25bzrlib/repofmt/knitrepo.py of the time on a regular pull operation. in http://people.ubuntu.com/~robertc/baz2.0/repository
Robert Collins
robertc at robertcollins.net
Sun Aug 5 09:29:36 BST 2007
At http://people.ubuntu.com/~robertc/baz2.0/repository
------------------------------------------------------------
revno: 2704
revision-id: robertc at robertcollins.net-20070805082934-uwqwq6nqew47ugcy
parent: robertc at robertcollins.net-20070805082029-4q3fj1fc7yn08yfh
committer: Robert Collins <robertc at robertcollins.net>
branch nick: repository
timestamp: Sun 2007-08-05 18:29:34 +1000
message:
Change from using Transport.append to Transport file_streams for pack creation, saving 25bzrlib/repofmt/knitrepo.py of the time on a regular pull operation.
modified:
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
=== modified file 'bzrlib/repofmt/knitrepo.py'
--- a/bzrlib/repofmt/knitrepo.py 2007-08-03 03:49:33 +0000
+++ b/bzrlib/repofmt/knitrepo.py 2007-08-05 08:29:34 +0000
@@ -775,9 +775,8 @@
def _start_write_group(self):
random_name = self.control_files._lock.nonce
self._open_pack_tuple = (self._upload_transport, random_name + '.pack')
- def write_data(bytes):
- self._upload_transport.append_bytes(random_name + '.pack', bytes)
- self._open_pack_writer = pack.ContainerWriter(write_data)
+ write_stream = self._upload_transport.open_file_stream(random_name + '.pack')
+ self._open_pack_writer = pack.ContainerWriter(write_stream)
self._open_pack_writer.begin()
self._data_names.setup()
self._revision_store.setup()
@@ -793,6 +792,8 @@
self.weave_store.flush(new_name)
self._inv_thunk.flush(new_name)
self._revision_store.flush(new_name)
+ self._open_pack_writer.end()
+ self._upload_transport.close_file_stream(self._open_pack_tuple[1])
self._upload_transport.rename(self._open_pack_tuple[1],
'../packs/' + new_name + '.pack')
self._data_names.save()
More information about the bazaar-commits
mailing list