1233
1233
def _generate_inventory_delta(self):
1234
1234
inventory_delta = []
1235
tree_paths = list(self._tree_path_ids.iteritems())
1236
tree_paths.sort(reverse=True)
1237
kind_changes = set()
1238
1235
child_pb = bzrlib.ui.ui_factory.nested_progress_bar()
1240
for num, data in enumerate(tree_paths):
1241
path, trans_id = data
1242
child_pb.update('removing file', num, len(tree_paths))
1243
if trans_id in self._removed_contents:
1245
if (self.tree_kind(trans_id)
1246
!= self.final_kind(trans_id)):
1247
kind_changes.add(trans_id)
1250
if (trans_id in self._removed_id):
1251
if trans_id == self._new_root:
1252
file_id = self._tree.get_root_id()
1254
file_id = self.tree_file_id(trans_id)
1255
# File-id isn't really being deleted, just moved
1256
if file_id in self._r_new_id:
1258
inventory_delta.append((path, None, file_id, None))
1237
for num, trans_id in enumerate(self._removed_id):
1238
child_pb.update('removing file', num, len(self._removed_id))
1239
if trans_id == self._new_root:
1240
file_id = self._tree.get_root_id()
1242
file_id = self.tree_file_id(trans_id)
1243
# File-id isn't really being deleted, just moved
1244
if file_id in self._r_new_id:
1246
path = self._tree_id_paths[trans_id]
1247
inventory_delta.append((path, None, file_id, None))
1260
1249
child_pb.finished()
1261
1250
new_paths = self.new_paths(filesystem_only=False)
1264
1253
entries = self._tree.iter_entries_by_dir(
1265
1254
new_path_file_ids.values())
1266
1255
old_paths = dict((e.file_id, p) for p, e in entries)
1267
1257
child_pb = bzrlib.ui.ui_factory.nested_progress_bar()
1269
1259
for num, (path, trans_id) in enumerate(new_paths):
1271
1261
if (num % 10) == 0:
1272
1262
child_pb.update('adding file', num, len(new_paths))
1273
1263
file_id = new_path_file_ids[trans_id]
1274
if file_id is not None and (trans_id in self._new_id or
1267
if (trans_id in self._new_id or
1275
1268
trans_id in self._new_name or
1276
1269
trans_id in self._new_parent
1277
or trans_id in self._new_executability
1278
or trans_id in kind_changes):
1280
kind = self.final_kind(trans_id)
1282
kind = self._tree.stored_kind(file_id)
1270
or trans_id in self._new_executability):
1273
if trans_id in self._removed_contents:
1275
final_kind = self.final_kind(trans_id)
1276
if (self.tree_kind(trans_id) != final_kind):
1278
final_kinds[trans_id] = final_kind
1282
kind = final_kinds.get(trans_id)
1285
kind = self.final_kind(trans_id)
1287
kind = self._tree.stored_kind(file_id)
1283
1288
parent_trans_id = self.final_parent(trans_id)
1284
1289
parent_file_id = new_path_file_ids.get(parent_trans_id)
1285
1290
if parent_file_id is None: