Rev 6227: (jelmer) Some cleanups for bzrlib.transform to avoid directly using in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Wed Oct 19 13:37:19 UTC 2011


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6227 [merge]
revision-id: pqm at pqm.ubuntu.com-20111019133718-ntud4nkunzvztx8a
parent: pqm at pqm.ubuntu.com-20111019131223-otfw8zcljb7ans2o
parent: jelmer at canonical.com-20111017104832-4lwwl4wzjp8qb60j
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2011-10-19 13:37:18 +0000
message:
  (jelmer) Some cleanups for bzrlib.transform to avoid directly using
   inventories. (Jelmer Vernooij)
modified:
  bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
=== modified file 'bzrlib/transform.py'
--- a/bzrlib/transform.py	2011-10-11 12:01:51 +0000
+++ b/bzrlib/transform.py	2011-10-17 10:48:32 +0000
@@ -34,7 +34,6 @@
     commit,
     conflicts,
     delta,
-    errors,
     inventory,
     multiparent,
     osutils,
@@ -44,7 +43,7 @@
     )
 from bzrlib.i18n import gettext
 """)
-from bzrlib.errors import (DuplicateKey, MalformedTransform, NoSuchFile,
+from bzrlib.errors import (DuplicateKey, MalformedTransform,
                            ReusingTransform, CantMoveRoot,
                            ExistingLimbo, ImmortalLimbo, NoFinalPath,
                            UnableCreateSymlink)
@@ -562,9 +561,7 @@
         for trans_id in self._removed_id:
             file_id = self.tree_file_id(trans_id)
             if file_id is not None:
-                # XXX: This seems like something that should go via a different
-                #      indirection.
-                if self._tree.inventory[file_id].kind == 'directory':
+                if self._tree.stored_kind(file_id) == 'directory':
                     parents.append(trans_id)
             elif self.tree_kind(trans_id) == 'directory':
                 parents.append(trans_id)
@@ -2547,7 +2544,7 @@
     file_trans_id = {}
     top_pb = ui.ui_factory.nested_progress_bar()
     pp = ProgressPhase("Build phase", 2, top_pb)
-    if tree.inventory.root is not None:
+    if tree.get_root_id() is not None:
         # This is kind of a hack: we should be altering the root
         # as part of the regular tree shape diff logic.
         # The conditional test here is to avoid doing an
@@ -2568,7 +2565,7 @@
         try:
             deferred_contents = []
             num = 0
-            total = len(tree.inventory)
+            total = len(tree.all_file_ids())
             if delta_from_tree:
                 precomputed_delta = []
             else:
@@ -2583,7 +2580,7 @@
                 for dir, files in wt.walkdirs():
                     existing_files.update(f[0] for f in files)
             for num, (tree_path, entry) in \
-                enumerate(tree.inventory.iter_entries_by_dir()):
+                enumerate(tree.iter_entries_by_dir()):
                 pb.update(gettext("Building tree"), num - len(deferred_contents), total)
                 if entry.parent_id is None:
                     continue
@@ -2839,33 +2836,6 @@
             return new_name
 
 
-def _entry_changes(file_id, entry, working_tree):
-    """Determine in which ways the inventory entry has changed.
-
-    Returns booleans: has_contents, content_mod, meta_mod
-    has_contents means there are currently contents, but they differ
-    contents_mod means contents need to be modified
-    meta_mod means the metadata needs to be modified
-    """
-    cur_entry = working_tree.inventory[file_id]
-    try:
-        working_kind = working_tree.kind(file_id)
-        has_contents = True
-    except NoSuchFile:
-        has_contents = False
-        contents_mod = True
-        meta_mod = False
-    if has_contents is True:
-        if entry.kind != working_kind:
-            contents_mod, meta_mod = True, False
-        else:
-            cur_entry._read_tree_state(working_tree.id2path(file_id),
-                                       working_tree)
-            contents_mod, meta_mod = entry.detect_changes(cur_entry)
-            cur_entry._forget_tree_state()
-    return has_contents, contents_mod, meta_mod
-
-
 def revert(working_tree, target_tree, filenames, backups=False,
            pb=None, change_reporter=None):
     """Revert a working tree's contents to those of a target tree."""




More information about the bazaar-commits mailing list