Rev 3370: Remove methods from VersionedFile deprecated before 1.5. in http://people.ubuntu.com/~robertc/baz2.0/versioned_files

Robert Collins robertc at robertcollins.net
Wed Apr 30 06:32:08 BST 2008


At http://people.ubuntu.com/~robertc/baz2.0/versioned_files

------------------------------------------------------------
revno: 3370
revision-id: robertc at robertcollins.net-20080430053203-p0oegpfwxbh7yiz7
parent: robertc at robertcollins.net-20080430044326-v6gcokiz2j03dlqx
committer: Robert Collins <robertc at robertcollins.net>
branch nick: remove-deprecations
timestamp: Wed 2008-04-30 15:32:03 +1000
message:
  Remove methods from VersionedFile deprecated before 1.5.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
  bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
  bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
=== modified file 'NEWS'
--- a/NEWS	2008-04-29 05:27:08 +0000
+++ b/NEWS	2008-04-30 05:32:03 +0000
@@ -66,6 +66,9 @@
       Repository.item_keys_introduced_by() no longer take read locks.
       (Aaron Bentley)
 
+    * The methods on ``VersionedFile`` deprecated before bzrlib 1.5 have been
+      removed. (Robert Collins)
+
     * ``VersionedFile.join`` is deprecated. This method required local
       instances of both versioned file objects and was thus hostile to being
       used for streaming from a smart server. The new get_record_stream and

=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py	2008-04-30 02:50:31 +0000
+++ b/bzrlib/knit.py	2008-04-30 05:32:03 +0000
@@ -109,12 +109,6 @@
     sha_strings,
     split_lines,
     )
-from bzrlib.symbol_versioning import (
-    DEPRECATED_PARAMETER,
-    deprecated_method,
-    deprecated_passed,
-    one_four,
-    )
 from bzrlib.tsort import topo_sort
 from bzrlib.tuned_gzip import GzipFile, bytes_to_gzip
 import bzrlib.ui
@@ -947,31 +941,12 @@
             annotated_part = "plain"
         return "knit-%s" % (annotated_part,)
         
-    @deprecated_method(one_four)
-    def get_graph_with_ghosts(self):
-        """See VersionedFile.get_graph_with_ghosts()."""
-        return self.get_parent_map(self.versions())
-
     def get_sha1s(self, version_ids):
         """See VersionedFile.get_sha1s()."""
         record_map = self._get_record_map(version_ids)
         # record entry 2 is the 'digest'.
         return [record_map[v][2] for v in version_ids]
 
-    @deprecated_method(one_four)
-    def has_ghost(self, version_id):
-        """True if there is a ghost reference in the file to version_id."""
-        # maybe we have it
-        if self.has_version(version_id):
-            return False
-        # optimisable if needed by memoising the _ghosts set.
-        items = self.get_parent_map(self.versions())
-        for parents in items.itervalues():
-            for parent in parents:
-                if parent == version_id and parent not in items:
-                    return True
-        return False
-
     def insert_data_stream(self, (format, data_list, reader_callable)):
         """Insert knit records from a data stream into this knit.
 

=== modified file 'bzrlib/tests/test_versionedfile.py'
--- a/bzrlib/tests/test_versionedfile.py	2008-04-30 04:13:51 +0000
+++ b/bzrlib/tests/test_versionedfile.py	2008-04-30 05:32:03 +0000
@@ -652,21 +652,6 @@
         self.assertRaises(errors.OutSideTransaction, self.applyDeprecated,
             one_five, f.join, '')
         
-    def test_clone_text(self):
-        f = self.get_file()
-        f.add_lines('r0', [], ['a\n', 'b\n'])
-        self.applyDeprecated(one_four, f.clone_text, 'r1', 'r0', ['r0'])
-        def verify_file(f):
-            self.assertEquals(f.get_lines('r1'), f.get_lines('r0'))
-            self.assertEquals(f.get_lines('r1'), ['a\n', 'b\n'])
-            self.assertEqual({'r1':('r0',)}, f.get_parent_map(['r1']))
-            self.assertRaises(RevisionNotPresent,
-                self.applyDeprecated, one_four, f.clone_text, 'r2', 'rX', [])
-            self.assertRaises(RevisionAlreadyPresent,
-                self.applyDeprecated, one_four, f.clone_text, 'r1', 'r0', [])
-        verify_file(f)
-        verify_file(self.reopen_file())
-
     def test_copy_to(self):
         f = self.get_file()
         f.add_lines('0', [], ['a\n'])
@@ -680,65 +665,6 @@
         # and should be a list
         self.assertTrue(isinstance(self.get_factory().get_suffixes(), list))
 
-    def build_graph(self, file, graph):
-        for node in topo_sort(graph.items()):
-            file.add_lines(node, graph[node], [])
-
-    def test_get_graph(self):
-        f = self.get_file()
-        graph = {
-            'v1': (),
-            'v2': ('v1', ),
-            'v3': ('v2', )}
-        self.build_graph(f, graph)
-        self.assertEqual(graph, self.applyDeprecated(one_four, f.get_graph))
-    
-    def test_get_graph_partial(self):
-        f = self.get_file()
-        complex_graph = {}
-        simple_a = {
-            'c': (),
-            'b': ('c', ),
-            'a': ('b', ),
-            }
-        complex_graph.update(simple_a)
-        simple_b = {
-            'c': (),
-            'b': ('c', ),
-            }
-        complex_graph.update(simple_b)
-        simple_gam = {
-            'c': (),
-            'oo': (),
-            'bar': ('oo', 'c'),
-            'gam': ('bar', ),
-            }
-        complex_graph.update(simple_gam)
-        simple_b_gam = {}
-        simple_b_gam.update(simple_gam)
-        simple_b_gam.update(simple_b)
-        self.build_graph(f, complex_graph)
-        self.assertEqual(simple_a, self.applyDeprecated(one_four, f.get_graph,
-            ['a']))
-        self.assertEqual(simple_b, self.applyDeprecated(one_four, f.get_graph,
-            ['b']))
-        self.assertEqual(simple_gam, self.applyDeprecated(one_four,
-            f.get_graph, ['gam']))
-        self.assertEqual(simple_b_gam, self.applyDeprecated(one_four,
-            f.get_graph, ['b', 'gam']))
-
-    def test_get_parents(self):
-        f = self.get_file()
-        f.add_lines('r0', [], ['a\n', 'b\n'])
-        f.add_lines('r1', [], ['a\n', 'b\n'])
-        f.add_lines('r2', [], ['a\n', 'b\n'])
-        f.add_lines('r3', [], ['a\n', 'b\n'])
-        f.add_lines('m', ['r0', 'r1', 'r2', 'r3'], ['a\n', 'b\n'])
-        self.assertEqual(['r0', 'r1', 'r2', 'r3'],
-            self.applyDeprecated(one_four, f.get_parents, 'm'))
-        self.assertRaises(RevisionNotPresent,
-            self.applyDeprecated, one_four, f.get_parents, 'y')
-
     def test_get_parent_map(self):
         f = self.get_file()
         f.add_lines('r0', [], ['a\n', 'b\n'])
@@ -802,39 +728,6 @@
         """Open the versioned file from disk again."""
         raise NotImplementedError(self.reopen_file)
 
-    def test_iter_parents(self):
-        """iter_parents returns the parents for many nodes."""
-        f = self.get_file()
-        # sample data:
-        # no parents
-        f.add_lines('r0', [], ['a\n', 'b\n'])
-        # 1 parents
-        f.add_lines('r1', ['r0'], ['a\n', 'b\n'])
-        # 2 parents
-        f.add_lines('r2', ['r1', 'r0'], ['a\n', 'b\n'])
-        # XXX TODO a ghost
-        # cases: each sample data individually:
-        self.assertEqual(set([('r0', ())]),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['r0'])))
-        self.assertEqual(set([('r1', ('r0', ))]),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['r1'])))
-        self.assertEqual(set([('r2', ('r1', 'r0'))]),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['r2'])))
-        # no nodes returned for a missing node
-        self.assertEqual(set(),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['missing'])))
-        # 1 node returned with missing nodes skipped
-        self.assertEqual(set([('r1', ('r0', ))]),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['ghost1', 'r1',
-                'ghost'])))
-        # 2 nodes returned
-        self.assertEqual(set([('r0', ()), ('r1', ('r0', ))]),
-            set(self.applyDeprecated(one_four, f.iter_parents, ['r0', 'r1'])))
-        # 2 nodes returned, missing skipped
-        self.assertEqual(set([('r0', ()), ('r1', ('r0', ))]),
-            set(self.applyDeprecated(one_four, f.iter_parents,
-                ['a', 'r0', 'b', 'r1', 'c'])))
-
     def test_iter_lines_added_or_present_in_versions(self):
         # test that we get at least an equalset of the lines added by
         # versions in the weave 
@@ -921,39 +814,21 @@
         # has_version
         # - these are ghost unaware and must not be reflect ghosts
         self.assertEqual(['notbxbfse'], vf.get_ancestry('notbxbfse'))
-        self.assertEqual([],
-            self.applyDeprecated(one_four, vf.get_parents, 'notbxbfse'))
-        self.assertEqual({'notbxbfse':()}, self.applyDeprecated(one_four,
-            vf.get_graph))
         self.assertFalse(vf.has_version(parent_id_utf8))
         # we have _with_ghost apis to give us ghost information.
         self.assertEqual([parent_id_utf8, 'notbxbfse'], vf.get_ancestry_with_ghosts(['notbxbfse']))
         self.assertEqual([parent_id_utf8], vf.get_parents_with_ghosts('notbxbfse'))
-        self.assertEqual({'notbxbfse':(parent_id_utf8,)},
-            self.applyDeprecated(one_four, vf.get_graph_with_ghosts))
-        self.assertTrue(self.applyDeprecated(one_four, vf.has_ghost,
-            parent_id_utf8))
         # if we add something that is a ghost of another, it should correct the
         # results of the prior apis
         vf.add_lines(parent_id_utf8, [], [])
         self.assertEqual([parent_id_utf8, 'notbxbfse'], vf.get_ancestry(['notbxbfse']))
         self.assertEqual({'notbxbfse':(parent_id_utf8,)},
             vf.get_parent_map(['notbxbfse']))
-        self.assertEqual({parent_id_utf8:(),
-                          'notbxbfse':(parent_id_utf8, ),
-                          },
-                         self.applyDeprecated(one_four, vf.get_graph))
         self.assertTrue(vf.has_version(parent_id_utf8))
         # we have _with_ghost apis to give us ghost information.
         self.assertEqual([parent_id_utf8, 'notbxbfse'],
             vf.get_ancestry_with_ghosts(['notbxbfse']))
         self.assertEqual([parent_id_utf8], vf.get_parents_with_ghosts('notbxbfse'))
-        self.assertEqual({parent_id_utf8:(),
-                          'notbxbfse':(parent_id_utf8,),
-                          },
-            self.applyDeprecated(one_four, vf.get_graph_with_ghosts))
-        self.assertFalse(self.applyDeprecated(one_four, vf.has_ghost,
-            parent_id_utf8))
 
     def test_add_lines_with_ghosts_after_normal_revs(self):
         # some versioned file formats allow lines to be added with parent
@@ -997,16 +872,6 @@
         vf.add_lines('b', ['a'], ['a\n'])
         # a file differing only in last newline.
         vf.add_lines('c', [], ['a'])
-        # Deprecasted single-version API.
-        self.assertEqual(
-            '3f786850e387550fdab836ed7e6dc881de23001b',
-            self.applyDeprecated(one_four, vf.get_sha1, 'a'))
-        self.assertEqual(
-            '3f786850e387550fdab836ed7e6dc881de23001b',
-            self.applyDeprecated(one_four, vf.get_sha1, 'b'))
-        self.assertEqual(
-            '86f7e437faa5a7fce15d1ddcb9eaeaea377667b8',
-            self.applyDeprecated(one_four, vf.get_sha1, 'c'))
         self.assertEqual(['3f786850e387550fdab836ed7e6dc881de23001b',
                           '86f7e437faa5a7fce15d1ddcb9eaeaea377667b8',
                           '3f786850e387550fdab836ed7e6dc881de23001b'],

=== modified file 'bzrlib/versionedfile.py'
--- a/bzrlib/versionedfile.py	2008-04-29 05:27:08 +0000
+++ b/bzrlib/versionedfile.py	2008-04-30 05:32:03 +0000
@@ -142,11 +142,6 @@
         """
         raise NotImplementedError(self.get_record_stream)
 
-    @deprecated_method(one_four)
-    def has_ghost(self, version_id):
-        """Returns whether version is present as a ghost."""
-        raise NotImplementedError(self.has_ghost)
-
     def has_version(self, version_id):
         """Returns whether version is present."""
         raise NotImplementedError(self.has_version)
@@ -241,35 +236,6 @@
             if '\n' in line[:-1]:
                 raise errors.BzrBadParameterContainsNewline("lines")
 
-    @deprecated_method(one_four)
-    def enable_cache(self):
-        """Tell this versioned file that it should cache any data it reads.
-        
-        This is advisory, implementations do not have to support caching.
-        """
-        pass
-    
-    @deprecated_method(one_four)
-    def clear_cache(self):
-        """Remove any data cached in the versioned file object.
-
-        This only needs to be supported if caches are supported
-        """
-        pass
-
-    @deprecated_method(one_four)
-    def clone_text(self, new_version_id, old_version_id, parents):
-        """Add an identical text to old_version_id as new_version_id.
-
-        Must raise RevisionNotPresent if the old version or any of the
-        parents are not present in file history.
-
-        Must raise RevisionAlreadyPresent if the new version is
-        already present in file history."""
-        self._check_write_ok()
-        return self.add_lines(new_version_id, parents,
-            self.get_lines(old_version_id))
-
     def get_format_signature(self):
         """Get a text description of the data encoding in this file.
         
@@ -355,14 +321,6 @@
             if expected_sha1 != sha1:
                 raise errors.VersionedFileInvalidChecksum(version)
 
-    @deprecated_method(one_four)
-    def get_sha1(self, version_id):
-        """Get the stored sha1 sum for the given revision.
-        
-        :param version_id: The name of the version to lookup
-        """
-        return self.get_sha1s([version_id])[0]
-
     def get_sha1s(self, version_ids):
         """Get the stored sha1 sums for the given revisions.
 
@@ -424,48 +382,6 @@
         """
         raise NotImplementedError(self.get_ancestry_with_ghosts)
     
-    @deprecated_method(one_four)
-    def get_graph(self, version_ids=None):
-        """Return a graph from the versioned file. 
-        
-        Ghosts are not listed or referenced in the graph.
-        :param version_ids: Versions to select.
-                            None means retrieve all versions.
-        """
-        if version_ids is None:
-            result = self.get_parent_map(self.versions())
-        else:
-            result = {}
-            pending = set(version_ids)
-            while pending:
-                this_iteration = pending
-                pending = set()
-                parents = self.get_parent_map(this_iteration)
-                for version, parents in parents.iteritems():
-                    result[version] = parents
-                    for parent in parents:
-                        if parent in result:
-                            continue
-                        pending.add(parent)
-        references = set()
-        for parents in result.itervalues():
-            references.update(parents)
-        existing_parents = self.get_parent_map(references)
-        for key, parents in result.iteritems():
-            present_parents = [parent for parent in parents if parent in
-                existing_parents]
-            result[key] = tuple(present_parents)
-        return result
-
-    @deprecated_method(one_four)
-    def get_graph_with_ghosts(self):
-        """Return a graph for the entire versioned file.
-        
-        Ghosts are referenced in parents list but are not
-        explicitly listed.
-        """
-        raise NotImplementedError(self.get_graph_with_ghosts)
-
     def get_parent_map(self, version_ids):
         """Get a map of the parents of version_ids.
 
@@ -474,24 +390,6 @@
         """
         raise NotImplementedError(self.get_parent_map)
 
-    @deprecated_method(one_four)
-    def get_parents(self, version_id):
-        """Return version names for parents of a version.
-
-        Must raise RevisionNotPresent if version is not present in
-        file history.
-        """
-        try:
-            all = self.get_parent_map([version_id])[version_id]
-        except KeyError:
-            raise errors.RevisionNotPresent(version_id, self)
-        result = []
-        parent_parents = self.get_parent_map(all)
-        for version_id in all:
-            if version_id in parent_parents:
-                result.append(version_id)
-        return result
-
     def get_parents_with_ghosts(self, version_id):
         """Return version names for parents of version_id.
 
@@ -506,16 +404,6 @@
         except KeyError:
             raise errors.RevisionNotPresent(version_id, self)
 
-    @deprecated_method(one_four)
-    def annotate_iter(self, version_id):
-        """Yield list of (version-id, line) pairs for the specified
-        version.
-
-        Must raise RevisionNotPresent if the given version is
-        not present in file history.
-        """
-        return iter(self.annotate(version_id))
-
     def annotate(self, version_id):
         """Return a list of (version-id, line) tuples for version_id.
 
@@ -565,18 +453,6 @@
         """
         raise NotImplementedError(self.iter_lines_added_or_present_in_versions)
 
-    @deprecated_method(one_four)
-    def iter_parents(self, version_ids):
-        """Iterate through the parents for many version ids.
-
-        :param version_ids: An iterable yielding version_ids.
-        :return: An iterator that yields (version_id, parents). Requested 
-            version_ids not present in the versioned file are simply skipped.
-            The order is undefined, allowing for different optimisations in
-            the underlying implementation.
-        """
-        return self.get_parent_map(version_ids).iteritems()
-
     def plan_merge(self, ver_a, ver_b):
         """Return pseudo-annotation indicating how the two versions merge.
 




More information about the bazaar-commits mailing list