65
64
def compare(self, want_unchanged=False, specific_files=None,
66
extra_trees=None, require_versioned=False, include_root=False,
67
want_unversioned=False):
65
extra_trees=None, require_versioned=False, include_root=False):
69
67
('compare', self.source, self.target, want_unchanged,
70
68
specific_files, extra_trees, require_versioned,
71
include_root, want_unversioned)
100
98
extra_trees='extra',
101
99
require_versioned='require',
102
100
include_root=True,
103
want_unversioned=True,
106
103
InterTree._optimisers = old_optimisers
107
104
self.assertEqual(
109
('compare', tree2, tree, False, None, None, False, False, False),
110
('compare', tree2, tree, 'unchanged', 'specific', 'extra',
111
'require', True, False),
112
('compare', tree2, tree, 'unchanged', 'specific', 'extra',
113
'require', True, True),
106
('compare', tree2, tree, False, None, None, False, False),
107
('compare', tree2, tree, 'unchanged', 'specific', 'extra',
109
('compare', tree2, tree, 'unchanged', 'specific', 'extra',
114
111
], RecordingOptimiser.calls)
116
113
def test_changes_from_with_root(self):
121
118
delta = wt.changes_from(wt.basis_tree(), wt, include_root=True)
122
119
self.assertEqual(len(delta.added), 1)
123
120
self.assertEqual(delta.added[0][0], '')
125
def test_changes_from_with_require_versioned(self):
126
"""Ensure the require_versioned option does what's expected."""
127
wt = self.make_branch_and_tree('.')
128
self.build_tree(['known_file', 'unknown_file'])
131
self.assertRaises(errors.PathsNotVersionedError,
132
wt.changes_from, wt.basis_tree(), wt, specific_files=['known_file',
133
'unknown_file'], require_versioned=True)
135
# we need to pass a known file with an unknown file to get this to
136
# fail when expected.
137
delta = wt.changes_from(wt.basis_tree(), wt,
138
specific_files=['known_file', 'unknown_file'] ,
139
require_versioned=False)
140
self.assertEqual(len(delta.added), 1)