Rev 2757: Fix up hash-addressed storage for pack refactoring in http://sourcefrog.net/bzr/pack-hashes
Martin Pool
mbp at sourcefrog.net
Fri Sep 21 06:59:05 BST 2007
At http://sourcefrog.net/bzr/pack-hashes
------------------------------------------------------------
revno: 2757
revision-id: mbp at sourcefrog.net-20070921055904-1dkm9uhgjdt56tcc
parent: mbp at sourcefrog.net-20070921054222-tqs00ez9s1nk0cta
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: pack-hashes
timestamp: Fri 2007-09-21 15:59:04 +1000
message:
Fix up hash-addressed storage for pack refactoring
modified:
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/tests/test_pack_repository.py test_pack_repository-20070828111851-nof5soh31tidz2dq-1
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py 2007-09-21 05:42:22 +0000
+++ b/bzrlib/repofmt/pack_repo.py 2007-09-21 05:59:04 +0000
@@ -147,7 +147,7 @@
for h, t in add_pairs:
assert len(h) == 40, \
"%r doesn't look like a sha1 hash" % h
- offset, length = self.repo._open_pack_writer.add_bytes_record(t, [])
+ offset, length = self._open_pack_writer.add_bytes_record(t, [])
key = (h, )
value = "%d %d" % (offset, length)
index_updates.append((key, value))
@@ -474,7 +474,7 @@
self._remove_pack_by_name(pack_detail[1])
# record the newly available packs and stop advertising the old
# packs
- self.save_pack_names()
+ self._save_pack_names()
# move the old packs out of the way
for revision_count, pack_details in pack_operations:
self._obsolete_packs(pack_details)
@@ -875,7 +875,7 @@
else:
return all_index.iter_entries(key_filter)
- def save_pack_names(self):
+ def _save_pack_names(self):
builder = GraphIndexBuilder()
for name, sizes in self._names.iteritems():
builder.add_node((name, ), ' '.join(str(size) for size in sizes))
@@ -927,9 +927,10 @@
self._open_pack_hash = None
def _commit_write_group(self):
- data_inserted = (self.repo._revision_store.data_inserted() or
- self.repo.weave_store.data_inserted() or
- self.repo._inv_thunk.data_inserted())
+ data_inserted = (self.repo._revision_store.data_inserted()
+ or self.repo.weave_store.data_inserted()
+ or self.repo._inv_thunk.data_inserted()
+ or self._hash_write_index.key_count() > 0)
if data_inserted:
self._open_pack_writer.end()
new_name = self._open_pack_hash.hexdigest()
@@ -959,7 +960,7 @@
new_pack.signature_index_length)
self.repo._open_pack_tuple = None
if not self.autopack():
- self.save_pack_names()
+ self._save_pack_names()
else:
# remove the pending upload
self.repo._upload_transport.delete(self.repo._open_pack_tuple[1])
=== modified file 'bzrlib/tests/test_pack_repository.py'
--- a/bzrlib/tests/test_pack_repository.py 2007-09-05 07:28:39 +0000
+++ b/bzrlib/tests/test_pack_repository.py 2007-09-21 05:59:04 +0000
@@ -41,6 +41,7 @@
return bzrdir.format_registry.make_bzrdir('experimental-subtree')
def test_store_get_bytes_by_hash(self):
+ import pdb;pdb.set_trace()
repo = self.make_repository('r1', format=self.get_format())
repo.lock_write()
repo.start_write_group()
More information about the bazaar-commits
mailing list