53
54
# the parents for a revision_tree(NULL_REVISION) are []:
54
55
self.assertEqual([],
55
self.t.branch.repository.revision_tree(
56
revision.NULL_REVISION).get_parent_ids())
56
self.t.branch.repository.revision_tree(
57
revision.NULL_REVISION).get_parent_ids())
58
59
def test_empty_no_root(self):
59
60
null_tree = self.t.branch.repository.revision_tree(
60
61
revision.NULL_REVISION)
61
self.assertIs(None, null_tree.path2id(''))
62
self.assertIs(None, null_tree.get_root_id())
63
64
def test_get_file_revision_root(self):
64
self.assertEqual(self.rev_id, self.rev_tree.get_file_revision(u''))
65
self.assertEqual(self.rev_id,
66
self.rev_tree.get_file_revision(self.rev_tree.get_root_id()))
66
68
def test_get_file_revision(self):
67
self.build_tree_contents([('a', b'initial')])
69
self.build_tree_contents([('a', 'initial')])
69
71
revid1 = self.t.commit('add a')
70
72
revid2 = self.t.commit('another change', allow_pointless=True)
71
73
tree = self.t.branch.repository.revision_tree(revid2)
72
74
self.assertEqual(revid1,
73
tree.get_file_revision('a'))
75
tree.get_file_revision(tree.path2id('a')))
75
77
def test_get_file_mtime_ghost(self):
76
path = next(iter(self.rev_tree.all_versioned_paths()))
77
self.rev_tree.root_inventory.get_entry(
78
self.rev_tree.path2id(path)).revision = b'ghostrev'
79
self.assertRaises(FileTimestampUnavailable,
80
self.rev_tree.get_file_mtime, path)
78
file_id = next(iter(self.rev_tree.all_file_ids()))
79
self.rev_tree.root_inventory[file_id].revision = 'ghostrev'
80
self.assertRaises(FileTimestampUnavailable,
81
self.rev_tree.get_file_mtime, file_id)