Rev 2676: (Marius Kruger) InterTree.compare doesn't pass require_versioned on correctly in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Tue Aug 7 08:17:35 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2676
revision-id: pqm at pqm.ubuntu.com-20070807071734-qrnzeyjktp2f7022
parent: pqm at pqm.ubuntu.com-20070807061316-b32atzzop4r4y21g
parent: ian.clatworthy at internode.on.net-20070807063833-12nu9ot1g7s1w6g8
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2007-08-07 08:17:34 +0100
message:
(Marius Kruger) InterTree.compare doesn't pass require_versioned on correctly
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/delta.py delta.py-20050729221636-54cf14ef94783d0a
bzrlib/tests/test_tree.py test_tree.py-20060724065232-khgrr0vvmt6ih0mi-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
------------------------------------------------------------
revno: 2675.1.2
merged: ian.clatworthy at internode.on.net-20070807063833-12nu9ot1g7s1w6g8
parent: ian.clatworthy at internode.on.net-20070807063544-vkmq3rfivhhri7ij
committer: Ian Clatworthy <ian.clatworthy at internode.on.net>
branch nick: ianc-integration
timestamp: Tue 2007-08-07 16:38:33 +1000
message:
Updated NEWS re Marius Kruger's InterTree.compare fix
------------------------------------------------------------
revno: 2675.1.1
merged: ian.clatworthy at internode.on.net-20070807063544-vkmq3rfivhhri7ij
parent: pqm at pqm.ubuntu.com-20070807061316-b32atzzop4r4y21g
parent: amanic at gmail.com-20070731194215-4d9r1l48kr4or3wj
committer: Ian Clatworthy <ian.clatworthy at internode.on.net>
branch nick: ianc-integration
timestamp: Tue 2007-08-07 16:35:44 +1000
message:
(Marius Kruger) InterTree.compare doesn't pass require_versioned on correctly
------------------------------------------------------------
revno: 2655.2.2
merged: amanic at gmail.com-20070731194215-4d9r1l48kr4or3wj
parent: amanic at gmail.com-20070728224528-u22jpgybnzjghd9l
committer: Marius Kruger <amanic at gmail.com>
branch nick: bzr.intertree_compare_ignores_param
timestamp: Tue 2007-07-31 21:42:15 +0200
message:
Rather use assertRaises in test_changes_from_with_require_versioned
------------------------------------------------------------
revno: 2655.2.1
merged: amanic at gmail.com-20070728224528-u22jpgybnzjghd9l
parent: pqm at pqm.ubuntu.com-20070727061532-14ly852y2g2dbcb8
committer: Marius Kruger <amanic at gmail.com>
branch nick: bzr.intertree_compare_ignores_param
timestamp: Sun 2007-07-29 00:45:28 +0200
message:
InterTree.compare and delta._compare_trees did not pass its
parameter require_versioned on correctly.
=== modified file 'NEWS'
--- a/NEWS 2007-08-07 02:12:43 +0000
+++ b/NEWS 2007-08-07 06:38:33 +0000
@@ -206,6 +206,9 @@
* ``Repository`` objects can now be compared with ``==`` and ``!=`` to
determine if they are the same repository. (Andrew Bennetts)
+ * InterTree.compare now passes require_versioned on correctly.
+ (Marius Kruger)
+
TESTING:
* Remove selftest ``--clean-output``, ``--numbered-dirs`` and
=== modified file 'bzrlib/delta.py'
--- a/bzrlib/delta.py 2007-05-02 11:02:46 +0000
+++ b/bzrlib/delta.py 2007-07-28 22:45:28 +0000
@@ -217,7 +217,7 @@
def _compare_trees(old_tree, new_tree, want_unchanged, specific_files,
include_root, extra_trees=None,
- want_unversioned=False):
+ require_versioned=False, want_unversioned=False):
"""Worker function that implements Tree.changes_from."""
delta = TreeDelta()
# mutter('start compare_trees')
@@ -225,6 +225,7 @@
for (file_id, path, content_change, versioned, parent_id, name, kind,
executable) in new_tree._iter_changes(old_tree, want_unchanged,
specific_files, extra_trees=extra_trees,
+ require_versioned=require_versioned,
want_unversioned=want_unversioned):
if versioned == (False, False):
delta.unversioned.append((path[1], None, kind[1]))
=== modified file 'bzrlib/tests/test_tree.py'
--- a/bzrlib/tests/test_tree.py 2007-03-02 03:47:56 +0000
+++ b/bzrlib/tests/test_tree.py 2007-07-31 19:42:15 +0000
@@ -16,6 +16,7 @@
"""Tests for Tree and InterTree."""
+from bzrlib import errors
from bzrlib.tests import TestCaseWithTransport
from bzrlib.tree import InterTree
@@ -120,3 +121,20 @@
delta = wt.changes_from(wt.basis_tree(), wt, include_root=True)
self.assertEqual(len(delta.added), 1)
self.assertEqual(delta.added[0][0], '')
+
+ def test_changes_from_with_require_versioned(self):
+ """Ensure the require_versioned option does what's expected."""
+ wt = self.make_branch_and_tree('.')
+ self.build_tree(['known_file', 'unknown_file'])
+ wt.add('known_file')
+
+ self.assertRaises(errors.PathsNotVersionedError,
+ wt.changes_from, wt.basis_tree(), wt, specific_files=['known_file',
+ 'unknown_file'], require_versioned=True)
+
+ # we need to pass a known file with an unknown file to get this to
+ # fail when expected.
+ delta = wt.changes_from(wt.basis_tree(), wt,
+ specific_files=['known_file', 'unknown_file'] ,
+ require_versioned=False)
+ self.assertEqual(len(delta.added), 1)
=== modified file 'bzrlib/tree.py'
--- a/bzrlib/tree.py 2007-07-19 15:44:17 +0000
+++ b/bzrlib/tree.py 2007-07-28 22:45:28 +0000
@@ -611,6 +611,7 @@
return result
return delta._compare_trees(self.source, self.target, want_unchanged,
specific_files, include_root, extra_trees=extra_trees,
+ require_versioned=require_versioned,
want_unversioned=want_unversioned)
def _iter_changes(self, include_unchanged=False,
More information about the bazaar-commits
mailing list