Rev 3262: Make Tree.iter_changes a public method (abentley) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Mar 10 23:39:53 GMT 2008
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3262
revision-id:pqm at pqm.ubuntu.com-20080310233945-ed3k1rc4g1p9qcpj
parent: pqm at pqm.ubuntu.com-20080310220259-preiorp3r2pj9er9
parent: aaron at aaronbentley.com-20080310192428-hb0yuqo17riwxti7
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-03-10 23:39:45 +0000
message:
Make Tree.iter_changes a public method (abentley)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/delta.py delta.py-20050729221636-54cf14ef94783d0a
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
bzrlib/tests/workingtree_implementations/test_merge_from_branch.py test_merge_from_bran-20060904034200-12jxyk2zlhpufxe1-1
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
------------------------------------------------------------
revno: 3254.1.4
revision-id:aaron at aaronbentley.com-20080310192428-hb0yuqo17riwxti7
parent: aaron at aaronbentley.com-20080308092531-0hsdb338jiqtss90
committer: Aaron Bentley <aaron at aaronbentley.com>
branch nick: public-iter-changes
timestamp: Mon 2008-03-10 15:24:28 -0400
message:
Update NEWS, add deprecated Tree._iter_changes thunk
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
------------------------------------------------------------
revno: 3254.1.3
revision-id:aaron at aaronbentley.com-20080308092531-0hsdb338jiqtss90
parent: aaron at aaronbentley.com-20080307142546-azyehaaiqpec29ll
committer: Aaron Bentley <aaron at aaronbentley.com>
branch nick: public-iter-changes
timestamp: Sat 2008-03-08 09:25:31 +0000
message:
Fix NEWS
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3254.1.2
revision-id:aaron at aaronbentley.com-20080307142546-azyehaaiqpec29ll
parent: aaron at aaronbentley.com-20080307141510-j1w043r5ir8lap88
committer: Aaron Bentley <aaron at aaronbentley.com>
branch nick: public-iter-changes
timestamp: Fri 2008-03-07 14:25:46 +0000
message:
Fix doiter_changes
modified:
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
------------------------------------------------------------
revno: 3254.1.1
revision-id:aaron at aaronbentley.com-20080307141510-j1w043r5ir8lap88
parent: pqm at pqm.ubuntu.com-20080306171300-yr2n8r9w4a4ettbo
committer: Aaron Bentley <aaron at aaronbentley.com>
branch nick: public-iter-changes
timestamp: Fri 2008-03-07 14:15:10 +0000
message:
Make Tree.iter_changes a public method
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/delta.py delta.py-20050729221636-54cf14ef94783d0a
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
bzrlib/tests/workingtree_implementations/test_merge_from_branch.py test_merge_from_bran-20060904034200-12jxyk2zlhpufxe1-1
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
=== modified file 'NEWS'
--- a/NEWS 2008-03-10 17:13:08 +0000
+++ b/NEWS 2008-03-10 23:39:45 +0000
@@ -107,6 +107,10 @@
falling back to other repositories when they have partial data.
(Robert Collins)
+ * ``Tree.iter_changes`` is now a public API, replacing the work-in-progress
+ ``Tree._iter_changes``. The api is now considered stable and ready for
+ external users. (Aaron Bentley)
+
* The bzrdir format registry now accepts an ``alias`` keyword to
register_metadir, used to indicate that a format name is an alias for
some other format and thus should not be reported when describing the
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2008-03-09 22:17:59 +0000
+++ b/bzrlib/builtins.py 2008-03-10 23:39:45 +0000
@@ -2413,7 +2413,7 @@
try:
repo_basis = tree.branch.repository.revision_tree(
tree.last_revision())
- if len(list(repo_basis._iter_changes(tree_basis))):
+ if len(list(repo_basis.iter_changes(tree_basis))):
raise errors.BzrCheckError(
"Mismatched basis inventory content.")
tree._validate()
=== modified file 'bzrlib/delta.py'
--- a/bzrlib/delta.py 2008-01-28 21:46:16 +0000
+++ b/bzrlib/delta.py 2008-03-07 14:15:10 +0000
@@ -211,7 +211,7 @@
# mutter('start compare_trees')
for (file_id, path, content_change, versioned, parent_id, name, kind,
- executable) in new_tree._iter_changes(old_tree, want_unchanged,
+ executable) in new_tree.iter_changes(old_tree, want_unchanged,
specific_files, extra_trees=extra_trees,
require_versioned=require_versioned,
want_unversioned=want_unversioned):
@@ -304,14 +304,14 @@
"""Report one change to a file
:param file_id: The file_id of the file
- :param path: The old and new paths as generated by Tree._iter_changes.
+ :param path: The old and new paths as generated by Tree.iter_changes.
:param versioned: may be 'added', 'removed', 'unchanged', or
'unversioned.
:param renamed: may be True or False
:param modified: may be 'created', 'deleted', 'kind changed',
'modified' or 'unchanged'.
:param exe_change: True if the execute bit has changed
- :param kind: A pair of file kinds, as generated by Tree._iter_changes.
+ :param kind: A pair of file kinds, as generated by Tree.iter_changes.
None indicates no file present.
"""
if is_quiet():
@@ -375,7 +375,7 @@
Further processing may be required to produce a human-readable output.
Unfortunately, some tree-changing operations are very complex
:change_iterator: an iterator or sequence of changes in the format
- generated by Tree._iter_changes
+ generated by Tree.iter_changes
:param reporter: The _ChangeReporter that will report the changes.
"""
versioned_change_map = {
=== modified file 'bzrlib/diff.py'
--- a/bzrlib/diff.py 2008-01-04 00:26:05 +0000
+++ b/bzrlib/diff.py 2008-03-07 14:15:10 +0000
@@ -930,7 +930,7 @@
def _show_diff(self, specific_files, extra_trees):
# TODO: Generation of pseudo-diffs for added/deleted files could
# be usefully made into a much faster special case.
- iterator = self.new_tree._iter_changes(self.old_tree,
+ iterator = self.new_tree.iter_changes(self.old_tree,
specific_files=specific_files,
extra_trees=extra_trees,
require_versioned=True)
@@ -967,7 +967,7 @@
self.to_file.write("=== renamed %s '%s' => '%s'%s\n" %
(kind[0], oldpath_encoded, newpath_encoded, prop_str))
else:
- # if it was produced by _iter_changes, it must be
+ # if it was produced by iter_changes, it must be
# modified *somehow*, either content or execute bit.
self.to_file.write("=== modified %s '%s'%s\n" % (kind[0],
newpath_encoded, prop_str))
=== modified file 'bzrlib/merge.py'
--- a/bzrlib/merge.py 2008-03-03 16:52:41 +0000
+++ b/bzrlib/merge.py 2008-03-07 14:15:10 +0000
@@ -565,7 +565,7 @@
if self.change_reporter is not None:
from bzrlib import delta
delta.report_changes(
- self.tt._iter_changes(), self.change_reporter)
+ self.tt.iter_changes(), self.change_reporter)
self.cook_conflicts(fs_conflicts)
for conflict in self.cooked_conflicts:
warning(conflict)
@@ -580,7 +580,7 @@
executable3 is a tuple of execute-bit values for base, other and this.
"""
result = []
- iterator = self.other_tree._iter_changes(self.base_tree,
+ iterator = self.other_tree.iter_changes(self.base_tree,
include_unchanged=True, specific_files=self.interesting_files,
extra_trees=[self.this_tree])
for (file_id, paths, changed, versioned, parents, names, kind,
=== modified file 'bzrlib/status.py'
--- a/bzrlib/status.py 2008-01-28 15:03:14 +0000
+++ b/bzrlib/status.py 2008-03-07 14:15:10 +0000
@@ -103,7 +103,7 @@
_raise_if_nonexistent(specific_files, old, new)
want_unversioned = not versioned
if short:
- changes = new._iter_changes(old, show_unchanged, specific_files,
+ changes = new.iter_changes(old, show_unchanged, specific_files,
require_versioned=False, want_unversioned=want_unversioned)
reporter = _mod_delta._ChangeReporter(output_file=to_file,
unversioned_filter=new.is_ignored)
=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py 2008-03-06 15:40:56 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py 2008-03-07 14:15:10 +0000
@@ -491,4 +491,4 @@
this_tree.lock_read()
self.addCleanup(this_tree.unlock)
self.assertEqual([],
- list(this_tree._iter_changes(this_tree.basis_tree())))
+ list(this_tree.iter_changes(this_tree.basis_tree())))
=== modified file 'bzrlib/tests/intertree_implementations/test_compare.py'
--- a/bzrlib/tests/intertree_implementations/test_compare.py 2007-11-01 09:52:45 +0000
+++ b/bzrlib/tests/intertree_implementations/test_compare.py 2008-03-07 14:25:46 +0000
@@ -344,11 +344,11 @@
"""Test the comparison iterator"""
def do_iter_changes(self, tree1, tree2, **extra_args):
- """Helper to run _iter_changes from tree1 to tree2.
+ """Helper to run iter_changes from tree1 to tree2.
:param tree1, tree2: The source and target trees. These will be locked
automatically.
- :param **extra_args: Extra args to pass to _iter_changes. This is not
+ :param **extra_args: Extra args to pass to iter_changes. This is not
inspected by this test helper.
"""
tree1.lock_read()
@@ -356,7 +356,7 @@
try:
# sort order of output is not strictly defined
return sorted(self.intertree_class(tree1, tree2)
- ._iter_changes(**extra_args))
+ .iter_changes(**extra_args))
finally:
tree1.unlock()
tree2.unlock()
@@ -729,7 +729,7 @@
tree2.add_reference(subtree2)
tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
- self.assertEqual([], list(tree2._iter_changes(tree1)))
+ self.assertEqual([], list(tree2.iter_changes(tree1)))
subtree1.commit('commit', rev_id='commit-a')
self.assertEqual([
('root-id',
@@ -748,7 +748,7 @@
('sub', 'sub'),
('tree-reference', 'tree-reference'),
(False, False))],
- list(tree2._iter_changes(tree1,
+ list(tree2.iter_changes(tree1,
include_unchanged=True)))
def test_disk_in_subtrees_skipped(self):
=== modified file 'bzrlib/tests/test_transform.py'
--- a/bzrlib/tests/test_transform.py 2008-02-24 16:42:13 +0000
+++ b/bzrlib/tests/test_transform.py 2008-03-07 14:15:10 +0000
@@ -836,17 +836,17 @@
transform.apply()
transform, root = self.get_transform()
try:
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
old = transform.trans_id_tree_file_id('id-1')
transform.unversion_file(old)
self.assertEqual([('id-1', ('old', None), False, (True, False),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (True, True))], list(transform._iter_changes()))
+ (True, True))], list(transform.iter_changes()))
transform.new_directory('new', root, 'id-1')
self.assertEqual([('id-1', ('old', 'new'), True, (True, True),
('eert_toor', 'eert_toor'), ('old', 'new'),
('file', 'directory'),
- (True, False))], list(transform._iter_changes()))
+ (True, False))], list(transform.iter_changes()))
finally:
transform.finalize()
@@ -861,7 +861,7 @@
transform.version_file('id-1', old)
self.assertEqual([('id-1', (None, 'old'), False, (False, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
finally:
transform.finalize()
@@ -877,61 +877,61 @@
old = transform.trans_id_tree_path('old')
subdir = transform.trans_id_tree_file_id('subdir-id')
new = transform.trans_id_tree_path('new')
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
#content deletion
transform.delete_contents(old)
self.assertEqual([('id-1', ('old', 'old'), True, (True, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', None),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
#content change
transform.create_file('blah', old)
self.assertEqual([('id-1', ('old', 'old'), True, (True, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
transform.cancel_deletion(old)
self.assertEqual([('id-1', ('old', 'old'), True, (True, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
transform.cancel_creation(old)
# move file_id to a different file
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
transform.unversion_file(old)
transform.version_file('id-1', new)
transform.adjust_path('old', root, new)
self.assertEqual([('id-1', ('old', 'old'), True, (True, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
transform.cancel_versioning(new)
transform._removed_id = set()
#execute bit
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
transform.set_executability(True, old)
self.assertEqual([('id-1', ('old', 'old'), False, (True, True),
('eert_toor', 'eert_toor'), ('old', 'old'), ('file', 'file'),
- (False, True))], list(transform._iter_changes()))
+ (False, True))], list(transform.iter_changes()))
transform.set_executability(None, old)
# filename
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
transform.adjust_path('new', root, old)
transform._new_parent = {}
self.assertEqual([('id-1', ('old', 'new'), False, (True, True),
('eert_toor', 'eert_toor'), ('old', 'new'), ('file', 'file'),
- (False, False))], list(transform._iter_changes()))
+ (False, False))], list(transform.iter_changes()))
transform._new_name = {}
# parent directory
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
transform.adjust_path('new', subdir, old)
transform._new_name = {}
self.assertEqual([('id-1', ('old', 'subdir/old'), False,
(True, True), ('eert_toor', 'subdir-id'), ('old', 'old'),
('file', 'file'), (False, False))],
- list(transform._iter_changes()))
+ list(transform.iter_changes()))
transform._new_path = {}
finally:
@@ -959,7 +959,7 @@
('id-2', (u'file2', u'file2'), False, (True, True),
('eert_toor', 'eert_toor'), ('file2', u'file2'),
('file', 'file'), (False, True))],
- list(transform._iter_changes()))
+ list(transform.iter_changes()))
finally:
transform.finalize()
@@ -979,7 +979,7 @@
transform.adjust_path('flitter', root, floater)
self.assertEqual([('floater-id', ('floater', 'flitter'), False,
(True, True), ('toor_eert', 'toor_eert'), ('floater', 'flitter'),
- (None, None), (False, False))], list(transform._iter_changes()))
+ (None, None), (False, False))], list(transform.iter_changes()))
finally:
transform.finalize()
@@ -994,14 +994,14 @@
try:
old = transform.trans_id_tree_path('old')
subdir = transform.trans_id_tree_file_id('subdir-id')
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
transform.delete_contents(subdir)
transform.create_directory(subdir)
transform.set_executability(False, old)
transform.unversion_file(old)
transform.version_file('id-1', old)
transform.adjust_path('old', root, old)
- self.assertEqual([], list(transform._iter_changes()))
+ self.assertEqual([], list(transform.iter_changes()))
finally:
transform.finalize()
@@ -1617,7 +1617,7 @@
self.assertEqual(['file1-id'], calls)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
def test_build_tree_accelerator_tree_missing_file(self):
source = self.create_ab_tree()
@@ -1630,7 +1630,7 @@
build_tree(revision_tree, target, source)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
def test_build_tree_accelerator_wrong_kind(self):
self.requireFeature(SymlinkFeature)
@@ -1657,7 +1657,7 @@
self.assertEqual([], calls)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
def test_build_tree_hardlink(self):
self.requireFeature(HardlinkFeature)
@@ -1669,7 +1669,7 @@
build_tree(revision_tree, target, source, hardlink=True)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
source_stat = os.stat('source/file1')
target_stat = os.stat('target/file1')
self.assertEqual(source_stat, target_stat)
@@ -1679,7 +1679,7 @@
build_tree(revision_tree, target2, source, hardlink=False)
target2.lock_read()
self.addCleanup(target2.unlock)
- self.assertEqual([], list(target2._iter_changes(revision_tree)))
+ self.assertEqual([], list(target2.iter_changes(revision_tree)))
source_stat = os.stat('source/file1')
target2_stat = os.stat('target2/file1')
self.assertNotEqual(source_stat, target2_stat)
@@ -1699,7 +1699,7 @@
build_tree(revision_tree, target, source)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
def test_build_tree_hardlinks_preserve_execute(self):
self.requireFeature(HardlinkFeature)
@@ -1716,7 +1716,7 @@
build_tree(revision_tree, target, source, hardlink=True)
target.lock_read()
self.addCleanup(target.unlock)
- self.assertEqual([], list(target._iter_changes(revision_tree)))
+ self.assertEqual([], list(target.iter_changes(revision_tree)))
self.assertTrue(source.is_executable('file1-id'))
@@ -1955,29 +1955,29 @@
self.assertEqual([('a-id', ('a', 'a'), True, (True, True),
(root, root), ('a', 'a'), ('file', 'file'),
(False, False))],
- list(preview_tree._iter_changes(revision_tree)))
+ list(preview_tree.iter_changes(revision_tree)))
def test_wrong_tree_value_error(self):
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- e = self.assertRaises(ValueError, preview_tree._iter_changes,
+ e = self.assertRaises(ValueError, preview_tree.iter_changes,
preview_tree)
self.assertEqual('from_tree must be transform source tree.', str(e))
def test_include_unchanged_value_error(self):
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- e = self.assertRaises(ValueError, preview_tree._iter_changes,
+ e = self.assertRaises(ValueError, preview_tree.iter_changes,
revision_tree, include_unchanged=True)
self.assertEqual('include_unchanged is not supported', str(e))
def test_specific_files(self):
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- e = self.assertRaises(ValueError, preview_tree._iter_changes,
+ e = self.assertRaises(ValueError, preview_tree.iter_changes,
revision_tree, specific_files=['pete'])
self.assertEqual('specific_files is not supported', str(e))
def test_want_unversioned_value_error(self):
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- e = self.assertRaises(ValueError, preview_tree._iter_changes,
+ e = self.assertRaises(ValueError, preview_tree.iter_changes,
revision_tree, want_unversioned=True)
self.assertEqual('want_unversioned is not supported', str(e))
@@ -1985,17 +1985,17 @@
# extra_trees is harmless without specific_files, so we'll silently
# accept it, even though we won't use it.
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- preview_tree._iter_changes(revision_tree, extra_trees=[preview_tree])
+ preview_tree.iter_changes(revision_tree, extra_trees=[preview_tree])
def test_ignore_require_versioned_no_specific_files(self):
# require_versioned is meaningless without specific_files.
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- preview_tree._iter_changes(revision_tree, require_versioned=False)
+ preview_tree.iter_changes(revision_tree, require_versioned=False)
def test_ignore_pb(self):
# pb could be supported, but TT.iter_changes doesn't support it.
revision_tree, preview_tree = self.get_tree_and_preview_tree()
- preview_tree._iter_changes(revision_tree, pb=progress.DummyProgress())
+ preview_tree.iter_changes(revision_tree, pb=progress.DummyProgress())
def test_kind(self):
revision_tree = self.create_tree()
=== modified file 'bzrlib/tests/test_workingtree_4.py'
--- a/bzrlib/tests/test_workingtree_4.py 2008-02-04 21:12:49 +0000
+++ b/bzrlib/tests/test_workingtree_4.py 2008-03-07 14:15:10 +0000
@@ -496,7 +496,7 @@
(None, u'dir'),
(None, 'directory'),
(None, False))]
- self.assertEqual(expected, list(tree._iter_changes(tree.basis_tree(),
+ self.assertEqual(expected, list(tree.iter_changes(tree.basis_tree(),
specific_files=['dir'])))
tree.unlock()
# do a commit, we want to trigger the dirstate fast-path too
@@ -514,7 +514,7 @@
('dir', 'dir'),
('directory', None),
(False, False))]
- self.assertEqual(expected, list(tree._iter_changes(tree.basis_tree())))
+ self.assertEqual(expected, list(tree.iter_changes(tree.basis_tree())))
tree.unlock()
def test_with_subtree_supports_tree_references(self):
@@ -526,7 +526,7 @@
# workingtree_4.
def test_iter_changes_ignores_unversioned_dirs(self):
- """_iter_changes should not descend into unversioned directories."""
+ """iter_changes should not descend into unversioned directories."""
tree = self.make_branch_and_tree('.', format='dirstate')
# We have an unversioned directory at the root, a versioned one with
# other versioned files and an unversioned directory, and another
@@ -564,14 +564,14 @@
basis.lock_read()
self.addCleanup(basis.unlock)
changes = [c[1] for c in
- tree._iter_changes(basis, want_unversioned=True)]
+ tree.iter_changes(basis, want_unversioned=True)]
self.assertEqual([(None, 'unversioned'),
(None, 'versioned/unversioned'),
(None, 'versioned2/unversioned'),
], changes)
self.assertEqual(['', 'versioned', 'versioned2'], returned)
del returned[:] # reset
- changes = [c[1] for c in tree._iter_changes(basis)]
+ changes = [c[1] for c in tree.iter_changes(basis)]
self.assertEqual([], changes)
self.assertEqual(['', 'versioned', 'versioned2'], returned)
@@ -599,7 +599,7 @@
[('f', '', 0, False, ''),
('r', 'bar', 0 , False, '')]))
self.assertListRaises(errors.CorruptDirstate,
- tree._iter_changes, tree.basis_tree())
+ tree.iter_changes, tree.basis_tree())
finally:
tree.unlock()
=== modified file 'bzrlib/tests/workingtree_implementations/test_merge_from_branch.py'
--- a/bzrlib/tests/workingtree_implementations/test_merge_from_branch.py 2007-07-25 21:25:00 +0000
+++ b/bzrlib/tests/workingtree_implementations/test_merge_from_branch.py 2008-03-07 14:15:10 +0000
@@ -69,7 +69,7 @@
tree_a.merge_from_branch(tree_b.branch)
tree_a.lock_read()
self.addCleanup(tree_a.unlock)
- list(tree_a._iter_changes(tree_a.basis_tree()))
+ list(tree_a.iter_changes(tree_a.basis_tree()))
def test_merge_empty(self):
tree_a = self.make_branch_and_tree('tree_a')
@@ -96,7 +96,7 @@
tree_a.merge_from_branch(tree_b.branch, from_revision='rev_1')
tree_a.lock_read()
self.addCleanup(tree_a.unlock)
- changes = list(tree_a._iter_changes(tree_a.basis_tree()))
+ changes = list(tree_a.iter_changes(tree_a.basis_tree()))
self.assertEqual(1, len(changes))
def test_merge_type(self):
=== modified file 'bzrlib/transform.py'
--- a/bzrlib/transform.py 2008-02-28 01:38:41 +0000
+++ b/bzrlib/transform.py 2008-03-07 14:15:10 +0000
@@ -1002,8 +1002,8 @@
to_executable = False
return to_name, to_parent, to_kind, to_executable
- def _iter_changes(self):
- """Produce output in the same format as Tree._iter_changes.
+ def iter_changes(self):
+ """Produce output in the same format as Tree.iter_changes.
Will produce nonsensical results if invoked while inventory/filesystem
conflicts (as reported by TreeTransform.find_conflicts()) are present.
@@ -1372,10 +1372,10 @@
def unlock(self):
pass
- def _iter_changes(self, from_tree, include_unchanged=False,
+ def iter_changes(self, from_tree, include_unchanged=False,
specific_files=None, pb=None, extra_trees=None,
require_versioned=True, want_unversioned=False):
- """See InterTree._iter_changes.
+ """See InterTree.iter_changes.
This implementation does not support include_unchanged, specific_files,
or want_unversioned. extra_trees, require_versioned, and pb are
@@ -1389,7 +1389,7 @@
raise ValueError('specific_files is not supported')
if want_unversioned:
raise ValueError('want_unversioned is not supported')
- return self._transform._iter_changes()
+ return self._transform.iter_changes()
def kind(self, file_id):
trans_id = self._transform.trans_id_file_id(file_id)
@@ -1608,7 +1608,7 @@
if accelerator_tree is None:
new_desired_files = desired_files
else:
- iter = accelerator_tree._iter_changes(tree, include_unchanged=True)
+ iter = accelerator_tree.iter_changes(tree, include_unchanged=True)
unchanged = dict((f, p[1]) for (f, p, c, v, d, n, k, e)
in iter if not (c or e[0] != e[1]))
new_desired_files = []
@@ -1856,7 +1856,7 @@
if change_reporter:
change_reporter = delta._ChangeReporter(
unversioned_filter=working_tree.is_ignored)
- delta.report_changes(tt._iter_changes(), change_reporter)
+ delta.report_changes(tt.iter_changes(), change_reporter)
for conflict in conflicts:
warning(conflict)
pp.next_phase()
@@ -1872,7 +1872,7 @@
def _alter_files(working_tree, target_tree, tt, pb, specific_files,
backups):
merge_modified = working_tree.merge_modified()
- change_list = target_tree._iter_changes(working_tree,
+ change_list = target_tree.iter_changes(working_tree,
specific_files=specific_files, pb=pb)
if target_tree.inventory.root is None:
skip_root = True
=== modified file 'bzrlib/tree.py'
--- a/bzrlib/tree.py 2008-02-28 00:36:28 +0000
+++ b/bzrlib/tree.py 2008-03-10 19:24:28 +0000
@@ -93,11 +93,15 @@
want_unversioned=want_unversioned,
)
- def _iter_changes(self, from_tree, include_unchanged=False,
+ @symbol_versioning.deprecated_method(symbol_versioning.one_three)
+ def _iter_changes(self, *args, **kwargs):
+ return self.iter_changes(*args, **kwargs)
+
+ def iter_changes(self, from_tree, include_unchanged=False,
specific_files=None, pb=None, extra_trees=None,
require_versioned=True, want_unversioned=False):
intertree = InterTree.get(from_tree, self)
- return intertree._iter_changes(include_unchanged, specific_files, pb,
+ return intertree.iter_changes(include_unchanged, specific_files, pb,
extra_trees, require_versioned, want_unversioned=want_unversioned)
def conflicts(self):
@@ -718,7 +722,7 @@
require_versioned=require_versioned,
want_unversioned=want_unversioned)
- def _iter_changes(self, include_unchanged=False,
+ def iter_changes(self, include_unchanged=False,
specific_files=None, pb=None, extra_trees=[],
require_versioned=True, want_unversioned=False):
"""Generate an iterator of changes between trees.
=== modified file 'bzrlib/workingtree.py'
--- a/bzrlib/workingtree.py 2008-02-28 01:33:35 +0000
+++ b/bzrlib/workingtree.py 2008-03-07 14:15:10 +0000
@@ -508,7 +508,7 @@
basis = self.basis_tree()
basis.lock_read()
try:
- changes = self._iter_changes(basis, True, [self.id2path(file_id)],
+ changes = self.iter_changes(basis, True, [self.id2path(file_id)],
require_versioned=True).next()
changed_content, kind = changes[2], changes[6]
if not changed_content:
@@ -1935,7 +1935,7 @@
has_changed_files = len(unknown_nested_files) > 0
if not has_changed_files:
for (file_id, path, content_change, versioned, parent_id, name,
- kind, executable) in self._iter_changes(self.basis_tree(),
+ kind, executable) in self.iter_changes(self.basis_tree(),
include_unchanged=True, require_versioned=False,
want_unversioned=True, specific_files=files):
if versioned == (False, False):
=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py 2008-02-28 01:33:35 +0000
+++ b/bzrlib/workingtree_4.py 2008-03-07 14:15:10 +0000
@@ -1760,12 +1760,12 @@
_matching_to_tree_format = WorkingTreeFormat4()
_test_mutable_trees_to_test_trees = make_source_parent_tree
- def _iter_changes(self, include_unchanged=False,
+ def iter_changes(self, include_unchanged=False,
specific_files=None, pb=None, extra_trees=[],
require_versioned=True, want_unversioned=False):
"""Return the changes from source to target.
- :return: An iterator that yields tuples. See InterTree._iter_changes
+ :return: An iterator that yields tuples. See InterTree.iter_changes
for details.
:param specific_files: An optional list of file paths to restrict the
comparison to. When mapping filenames to ids, all matches in all
@@ -1790,7 +1790,7 @@
# TODO: handle extra trees in the dirstate.
if (extra_trees or specific_files == []):
# we can't fast-path these cases (yet)
- for f in super(InterDirStateTree, self)._iter_changes(
+ for f in super(InterDirStateTree, self).iter_changes(
include_unchanged, specific_files, pb, extra_trees,
require_versioned, want_unversioned=want_unversioned):
yield f
@@ -1800,7 +1800,7 @@
or self.source._revision_id == NULL_REVISION), \
"revision {%s} is not stored in {%s}, but %s " \
"can only be used for trees stored in the dirstate" \
- % (self.source._revision_id, self.target, self._iter_changes)
+ % (self.source._revision_id, self.target, self.iter_changes)
target_index = 0
if self.source._revision_id == NULL_REVISION:
source_index = None
More information about the bazaar-commits
mailing list