/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/transform.py

  • Committer: Aaron Bentley
  • Date: 2008-08-12 04:13:12 UTC
  • mto: This revision was merged to the branch mainline in revision 3623.
  • Revision ID: aaron@aaronbentley.com-20080812041312-ydtwxp53d1jjwvky
Further cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
1232
1232
 
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()
1239
1236
        try:
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:
1244
 
                    try:
1245
 
                        if (self.tree_kind(trans_id)
1246
 
                            != self.final_kind(trans_id)):
1247
 
                            kind_changes.add(trans_id)
1248
 
                    except NoSuchFile:
1249
 
                        pass
1250
 
                if (trans_id in self._removed_id):
1251
 
                    if trans_id == self._new_root:
1252
 
                        file_id = self._tree.get_root_id()
1253
 
                    else:
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:
1257
 
                        continue
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()
 
1241
                else:
 
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:
 
1245
                    continue
 
1246
                path = self._tree_id_paths[trans_id]
 
1247
                inventory_delta.append((path, None, file_id, None))
1259
1248
        finally:
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)
 
1256
        final_kinds = {}
1267
1257
        child_pb = bzrlib.ui.ui_factory.nested_progress_bar()
1268
1258
        try:
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
 
1264
                if file_id is None:
 
1265
                    continue
 
1266
                needs_entry = False
 
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):
1279
 
                    try:
1280
 
                        kind = self.final_kind(trans_id)
1281
 
                    except NoSuchFile:
1282
 
                        kind = self._tree.stored_kind(file_id)
 
1270
                    or trans_id in self._new_executability):
 
1271
                    needs_entry = True
 
1272
                else:
 
1273
                    if trans_id in self._removed_contents:
 
1274
                        try:
 
1275
                            final_kind = self.final_kind(trans_id)
 
1276
                            if (self.tree_kind(trans_id) != final_kind):
 
1277
                                needs_entry = True
 
1278
                            final_kinds[trans_id] = final_kind
 
1279
                        except NoSuchFile:
 
1280
                            pass
 
1281
                if needs_entry:
 
1282
                    kind = final_kinds.get(trans_id)
 
1283
                    if kind is None:
 
1284
                        try:
 
1285
                            kind = self.final_kind(trans_id)
 
1286
                        except NoSuchFile:
 
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: