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