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