Small patch for CHK branch to fix some tests
Martin Pool
mbp at canonical.com
Mon Nov 10 07:30:08 GMT 2008
Updated:
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mbp at sourcefrog.net-20081110072934-g98e0746d05xzdzf
# target_branch: http://sourcefrog.net/bzr/robertc-repository
# testament_sha1: 7f470ff93a534678638853fec9b798d0f4b95557
# timestamp: 2008-11-10 17:29:50 +1000
# source_branch: http://sourcefrog.net/bzr/repository-trivial
# base_revision_id: robertc at robertcollins.net-20081106231431-\
# km10poyn95ifnjkh
#
# Begin patch
=== modified file 'bzrlib/commit.py'
--- bzrlib/commit.py 2008-11-06 23:00:22 +0000
+++ bzrlib/commit.py 2008-11-10 07:29:34 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006, 2007 Canonical Ltd
+# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -77,7 +77,7 @@
)
from bzrlib.testament import Testament
from bzrlib.trace import mutter, note, warning, is_quiet
-from bzrlib.inventory import InventoryEntry, make_entry
+from bzrlib.inventory import Inventory, InventoryEntry, make_entry
from bzrlib import symbol_versioning
from bzrlib.symbol_versioning import (deprecated_passed,
deprecated_function,
@@ -698,8 +698,19 @@
def _report_and_accumulate_deletes(self):
# XXX: Could the list of deleted paths and ids be instead taken from
# _populate_from_inventory?
- deleted_ids = set(self.basis_inv._byid.keys()) - \
- set(self.builder.new_inventory._byid.keys())
+ if (isinstance(self.basis_inv, Inventory)
+ and isinstance(self.builder.new_inventory, Inventory)):
+ # the older Inventory classes provide a _byid dict, and building a
+ # set from the keys of this dict is substantially faster than even
+ # getting a set of ids from the inventory
+ #
+ # <lifeless> set(dict) is roughly the same speed as
+ # set(iter(dict)) and both are significantly slower than
+ # set(dict.keys())
+ deleted_ids = set(self.basis_inv._byid.keys()) - \
+ set(self.builder.new_inventory._byid.keys())
+ else:
+ deleted_ids = set(self.basis_inv) - set(self.builder.new_inventory)
if deleted_ids:
self.any_entries_deleted = True
deleted = [(self.basis_tree.id2path(file_id), file_id)
# Begin bundle
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
More information about the bazaar
mailing list