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