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
from bzrlib.revision import find_present_ancestors
137
from bzrlib.revision import old_common_ancestor as common_ancestor
138
from bzrlib.revision import MultipleRevisionSources
139
br1, br2 = make_branches()
140
revisions = br1.revision_history()
141
revisions_2 = br2.revision_history()
142
sources = MultipleRevisionSources(br1, br2)
144
expected_ancestors_list = {revisions[3]:(0, 0),
146
revisions_2[4]:(2, 1),
148
revisions_2[3]:(4, 2),
149
revisions[0]:(5, 3) }
150
ancestors_list = find_present_ancestors(revisions[3], sources)
151
assert len(expected_ancestors_list) == len(ancestors_list)
152
for key, value in expected_ancestors_list.iteritems():
153
self.assertEqual(ancestors_list[key], value,
154
"key %r, %r != %r" % (key, ancestors_list[key],
157
self.assertEqual(common_ancestor(revisions[0], revisions[0], sources),
159
self.assertEqual(common_ancestor(revisions[1], revisions[2], sources),
161
self.assertEqual(common_ancestor(revisions[1], revisions[1], sources),
163
self.assertEqual(common_ancestor(revisions[2], revisions_2[4], sources),
165
self.assertEqual(common_ancestor(revisions[3], revisions_2[4], sources),
167
self.assertEqual(common_ancestor(revisions[4], revisions_2[5], sources),
169
self.assertEqual(common_ancestor(revisions[5], revisions_2[6], sources),
171
self.assertEqual(common_ancestor(revisions_2[6], revisions[5], sources),
135
174
def test_common_ancestor(self):
136
from bzrlib.revision import find_present_ancestors, common_ancestor
175
"""Pick a reasonable merge base"""
176
from bzrlib.revision import find_present_ancestors
177
from bzrlib.revision import common_ancestor
137
178
from bzrlib.revision import MultipleRevisionSources
138
179
br1, br2 = make_branches()
139
180
revisions = br1.revision_history()