def test_get_view_revisions_reverse(self): """Test the get_view_revisions with reverse""" mainline_revs, rev_nos, wt = self.make_tree_with_commits() wt.lock_read() self.addCleanup(wt.unlock) revisions = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse')) self.assertEqual([('3', '3', 0), ('2', '2', 0), ('1', '1', 0), ], revisions) revisions2 = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse', include_merges=False)) self.assertEqual(revisions, revisions2)
def test_get_view_revisions_merge_reverse(self): """Test get_view_revisions in reverse when there are merges""" mainline_revs, rev_nos, wt = self.make_tree_with_merges() wt.lock_read() self.addCleanup(wt.unlock) revisions = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse')) self.assertEqual([('4b', '4', 0), ('4a', '3.1.1', 1), ('3', '3', 0), ('2', '2', 0), ('1', '1', 0)], revisions) revisions = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse', include_merges=False)) self.assertEqual([('4b', '4', 0), ('3', '3', 0), ('2', '2', 0), ('1', '1', 0)], revisions)
def test_get_view_revisions_forward(self): """Test the get_view_revisions method""" mainline_revs, rev_nos, wt = self.make_tree_with_commits() wt.lock_read() self.addCleanup(wt.unlock) revisions = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward')) self.assertEqual([('1', '1', 0), ('2', '2', 0), ('3', '3', 0)], revisions) revisions2 = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward', include_merges=False)) self.assertEqual(revisions, revisions2)
def test_get_view_revisions_merge2(self): """Test get_view_revisions when there are merges""" mainline_revs, rev_nos, wt = self.make_tree_with_many_merges() wt.lock_read() self.addCleanup(wt.unlock) revisions = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward')) expected = [('1', '1', 0), ('2', '2', 0), ('3c', '3', 0), ('3a', '2.1.1', 1), ('3b', '2.2.1', 1), ('4b', '4', 0), ('4a', '2.2.2', 1)] self.assertEqual(expected, revisions) revisions = list(get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward', include_merges=False)) self.assertEqual([('1', '1', 0), ('2', '2', 0), ('3c', '3', 0), ('4b', '4', 0)], revisions)
def test_get_view_revisions_merge_reverse(self): """Test get_view_revisions in reverse when there are merges""" mainline_revs, rev_nos, wt = self.make_tree_with_merges() wt.lock_read() self.addCleanup(wt.unlock) revisions = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse')) self.assertEqual([('4b', '4', 0), ('4a', '3.1.1', 1), ('3', '3', 0), ('2', '2', 0), ('1', '1', 0)], revisions) revisions = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'reverse', include_merges=False)) self.assertEqual([('4b', '4', 0), ('3', '3', 0), ('2', '2', 0), ('1', '1', 0)], revisions)
def test_get_view_revisions_merge2(self): """Test get_view_revisions when there are merges""" mainline_revs, rev_nos, wt = self.make_tree_with_many_merges() wt.lock_read() self.addCleanup(wt.unlock) revisions = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward')) expected = [('1', '1', 0), ('2', '2', 0), ('3c', '3', 0), ('3a', '2.1.1', 1), ('3b', '2.2.1', 1), ('4b', '4', 0), ('4a', '2.2.2', 1)] self.assertEqual(expected, revisions) revisions = list( get_view_revisions(mainline_revs, rev_nos, wt.branch, 'forward', include_merges=False)) self.assertEqual([('1', '1', 0), ('2', '2', 0), ('3c', '3', 0), ('4b', '4', 0)], revisions)
def assertAllRevisionsForFileID(self, tree, file_id, revisions): """Make sure _filter_revisions_touching_file_id returns the right values. Get the return value from _filter_revisions_touching_file_id and make sure they are correct. """ # The api for _get_revisions_touching_file_id is a little crazy, # So we do the setup here. mainline = tree.branch.revision_history() mainline.insert(0, None) revnos = dict((rev, idx + 1) for idx, rev in enumerate(mainline)) view_revs_iter = log.get_view_revisions(mainline, revnos, tree.branch, 'reverse', True) actual_revs = log._filter_revisions_touching_file_id( tree.branch, file_id, mainline, list(view_revs_iter)) self.assertEqual(revisions, [r for r, revno, depth in actual_revs])
def assertAllRevisionsForFileID(self, tree, file_id, revisions): """Make sure _filter_revisions_touching_file_id returns the right values. Get the return value from _filter_revisions_touching_file_id and make sure they are correct. """ # The api for _get_revisions_touching_file_id is a little crazy, # So we do the setup here. mainline = tree.branch.revision_history() mainline.insert(0, None) revnos = dict((rev, idx+1) for idx, rev in enumerate(mainline)) view_revs_iter = log.get_view_revisions(mainline, revnos, tree.branch, 'reverse', True) actual_revs = log._filter_revisions_touching_file_id( tree.branch, file_id, mainline, list(view_revs_iter)) self.assertEqual(revisions, [r for r, revno, depth in actual_revs])