Rev 3370: Remove more uses of versionedfile.join() and fix a bug with weave's insert_record_stream. in http://people.ubuntu.com/~robertc/baz2.0/versioned_files
Robert Collins
robertc at robertcollins.net
Fri May 2 02:36:17 BST 2008
At http://people.ubuntu.com/~robertc/baz2.0/versioned_files
------------------------------------------------------------
revno: 3370
revision-id: robertc at robertcollins.net-20080502013611-9i4m7flcksbzc2yh
parent: robertc at robertcollins.net-20080430044326-v6gcokiz2j03dlqx
committer: Robert Collins <robertc at robertcollins.net>
branch nick: data_stream_revamp
timestamp: Fri 2008-05-02 11:36:11 +1000
message:
Remove more uses of versionedfile.join() and fix a bug with weave's insert_record_stream.
modified:
bzrlib/store/__init__.py store.py-20050309040759-164dc5173d6406c2
bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
=== modified file 'bzrlib/store/__init__.py'
--- a/bzrlib/store/__init__.py 2007-09-25 08:14:12 +0000
+++ b/bzrlib/store/__init__.py 2008-05-02 01:36:11 +0000
@@ -73,10 +73,6 @@
"""DEPRECATED. Please use .get(fileid) instead."""
raise NotImplementedError
- #def __contains__(self, fileid):
- # """Deprecated, please use has_id"""
- # raise NotImplementedError
-
def __iter__(self):
raise NotImplementedError
=== modified file 'bzrlib/store/versioned/__init__.py'
--- a/bzrlib/store/versioned/__init__.py 2008-04-28 03:52:09 +0000
+++ b/bzrlib/store/versioned/__init__.py 2008-05-02 01:36:11 +0000
@@ -178,7 +178,8 @@
def _put_weave(self, file_id, weave, transaction):
"""Preserved here for upgrades-to-weaves to use."""
myweave = self._make_new_versionedfile(file_id, transaction)
- myweave.join(weave)
+ myweave.insert_record_stream(weave.get_record_stream(weave.versions(),
+ 'topological', False))
def copy(self, source, result_id, transaction):
"""Copy the source versioned file to result_id in this store."""
@@ -239,7 +240,9 @@
# joining is fast with knits, and bearable for weaves -
# indeed the new case can be optimised if needed.
target = self._make_new_versionedfile(f, to_transaction)
- target.join(from_store.get_weave(f, from_transaction))
+ source = from_store.get_weave(f, from_transaction)
+ target.insert_record_stream(source.get_record_stream(
+ source.versions(), 'topological', False))
finally:
pb.finished()
=== modified file 'bzrlib/weave.py'
--- a/bzrlib/weave.py 2008-04-30 04:13:51 +0000
+++ b/bzrlib/weave.py 2008-05-02 01:36:11 +0000
@@ -88,6 +88,7 @@
import bzrlib.errors as errors
from bzrlib.osutils import sha_strings, split_lines
import bzrlib.patiencediff
+from bzrlib.symbol_versioning import *
from bzrlib.trace import mutter
from bzrlib.tsort import topo_sort
from bzrlib.versionedfile import (
@@ -1009,6 +1010,11 @@
"""See VersionedFile.get_suffixes()."""
return [WeaveFile.WEAVE_SUFFIX]
+ def insert_record_stream(self, stream):
+ super(WeaveFile, self).insert_record_stream(stream)
+ self._save()
+
+ @deprecated_method(one_five)
def join(self, other, pb=None, msg=None, version_ids=None,
ignore_missing=False):
"""Join other into self and save."""
More information about the bazaar-commits
mailing list