63
63
return self._revision_id
65
65
def get_weave(self, file_id):
66
file_id = osutils.safe_file_id(file_id)
66
67
return self._weave_store.get_weave(file_id,
67
68
self._repository.get_transaction())
69
70
def get_file_lines(self, file_id):
71
file_id = osutils.safe_file_id(file_id)
70
72
ie = self._inventory[file_id]
71
73
weave = self.get_weave(file_id)
72
74
return weave.get_lines(ie.revision)
74
76
def get_file_text(self, file_id):
77
file_id = osutils.safe_file_id(file_id)
75
78
return ''.join(self.get_file_lines(file_id))
77
80
def get_file(self, file_id):
81
file_id = osutils.safe_file_id(file_id)
78
82
return StringIO(self.get_file_text(file_id))
80
84
def annotate_iter(self, file_id):
81
85
"""See Tree.annotate_iter"""
86
file_id = osutils.safe_file_id(file_id)
82
87
w = self.get_weave(file_id)
83
88
return w.annotate_iter(self.inventory[file_id].revision)
85
90
def get_file_size(self, file_id):
91
file_id = osutils.safe_file_id(file_id)
86
92
return self._inventory[file_id].text_size
88
94
def get_file_sha1(self, file_id, path=None, stat_value=None):
95
file_id = osutils.safe_file_id(file_id)
89
96
ie = self._inventory[file_id]
90
97
if ie.kind == "file":
91
98
return ie.text_sha1
94
101
def get_file_mtime(self, file_id, path=None):
102
file_id = osutils.safe_file_id(file_id)
95
103
ie = self._inventory[file_id]
96
104
revision = self._repository.get_revision(ie.revision)
97
105
return revision.timestamp
99
107
def is_executable(self, file_id, path=None):
108
file_id = osutils.safe_file_id(file_id)
100
109
ie = self._inventory[file_id]
101
110
if ie.kind != "file":
103
112
return ie.executable
105
114
def has_filename(self, filename):
116
125
yield path, 'V', entry.kind, entry.file_id, entry
118
127
def get_symlink_target(self, file_id):
128
file_id = osutils.safe_file_id(file_id)
119
129
ie = self._inventory[file_id]
120
130
return ie.symlink_target;
122
132
def kind(self, file_id):
133
file_id = osutils.safe_file_id(file_id)
123
134
return self._inventory[file_id].kind
125
136
def _comparison_data(self, entry, path):