132
132
class TestCommonAncestor(TestCaseInTempDir):
133
133
"""Test checking whether a revision is an ancestor of another revision"""
135
def test_old_common_ancestor(self):
136
"""Pick a resonable merge base using the old functionality"""
137
from bzrlib.revision import find_present_ancestors
138
from bzrlib.revision import old_common_ancestor as common_ancestor
135
def test_common_ancestor(self):
136
from bzrlib.revision import find_present_ancestors, common_ancestor
139
137
from bzrlib.revision import MultipleRevisionSources
140
138
br1, br2 = make_branches()
141
139
revisions = br1.revision_history()
172
170
self.assertEqual(common_ancestor(revisions_2[6], revisions[5], sources),
175
def test_common_ancestor(self):
176
"""Pick a reasonable merge base"""
177
from bzrlib.revision import find_present_ancestors
178
from bzrlib.revision import common_ancestor
179
from bzrlib.revision import MultipleRevisionSources
180
br1, br2 = make_branches()
181
revisions = br1.revision_history()
182
revisions_2 = br2.revision_history()
183
sources = MultipleRevisionSources(br1, br2)
185
expected_ancestors_list = {revisions[3]:(0, 0),
187
revisions_2[4]:(2, 1),
189
revisions_2[3]:(4, 2),
190
revisions[0]:(5, 3) }
191
ancestors_list = find_present_ancestors(revisions[3], sources)
192
assert len(expected_ancestors_list) == len(ancestors_list)
193
for key, value in expected_ancestors_list.iteritems():
194
self.assertEqual(ancestors_list[key], value,
195
"key %r, %r != %r" % (key, ancestors_list[key],
198
self.assertEqual(common_ancestor(revisions[0], revisions[0], sources),
200
self.assertEqual(common_ancestor(revisions[1], revisions[2], sources),
202
self.assertEqual(common_ancestor(revisions[1], revisions[1], sources),
204
self.assertEqual(common_ancestor(revisions[2], revisions_2[4], sources),
206
self.assertEqual(common_ancestor(revisions[3], revisions_2[4], sources),
208
self.assertEqual(common_ancestor(revisions[4], revisions_2[5], sources),
210
self.assertEqual(common_ancestor(revisions[5], revisions_2[6], sources),
212
self.assertEqual(common_ancestor(revisions_2[6], revisions[5], sources),