99
99
def is_executable(self, file_id, path=None):
100
100
return self._inventory[file_id].executable
102
def kind(self, file_id):
103
return self._inventory[file_id].kind
102
105
def mkdir(self, path, file_id=None):
103
106
"""See MutableTree.mkdir()."""
104
107
self.add(path, file_id, 'directory')
167
170
self._file_transport = MemoryTransport()
168
171
# TODO copy the revision trees content, or do it lazy, or something.
169
172
inventory_entries = self._inventory.iter_entries()
170
inventory_entries.next()
171
173
for path, entry in inventory_entries:
172
176
if entry.kind == 'directory':
173
177
self._file_transport.mkdir(path)
174
178
elif entry.kind == 'file':
219
223
raise errors.NoSuchId(self, file_id)
225
def set_parent_ids(self, revision_ids, allow_leftmost_as_ghost=False):
226
"""See MutableTree.set_parent_trees()."""
227
if len(revision_ids) == 0:
228
self._parent_ids = []
229
self._basis_tree = self.branch.repository.revision_tree(None)
231
self._parent_ids = revision_ids
232
self._basis_tree = self.branch.repository.revision_tree(
234
self._branch_revision_id = revision_ids[0]
221
236
def set_parent_trees(self, parents_list, allow_leftmost_as_ghost=False):
222
237
"""See MutableTree.set_parent_trees()."""
223
238
if len(parents_list) == 0:
224
239
self._parent_ids = []
225
self._basis_tree = self.branch.repository.revisiontree(None)
240
self._basis_tree = self.branch.repository.revision_tree(None)
227
242
if parents_list[0][1] is None and not allow_leftmost_as_ghost:
228
243
# a ghost in the left most parent
229
244
raise errors.GhostRevisionUnusableHere(parents_list[0][0])
230
245
self._parent_ids = [parent_id for parent_id, tree in parents_list]
231
246
if parents_list[0][1] is None:
232
self._basis_tree = self.branch.repository.revisiontree(None)
247
self._basis_tree = self.branch.repository.revision_tree(None)
234
249
self._basis_tree = parents_list[0][1]
235
250
self._branch_revision_id = parents_list[0][0]