[merge] [#146176] fix Dirstate.set_state_from_inventory
Martin Pool
mbp at canonical.com
Mon Oct 8 10:45:00 BST 2007
The Dirstate.set_state_from_inventory routine updates the working tree
in a dirstate. It basically does a sorted merge of the inventory and
the existing tree data. However, the comparison was wrong (line
1923ff). At best, this causes dirstate hashcache information to be
discarded and re-shuffling of objects.
(It's possible that it also causes more serious problems if the records
are lost. I can't think of a case off hand but might try some
experiments on a branch without this merged, to see if I can make it
fail.)
I believe this should substantially help performance on a status, diff
or commit operation that follows an add or remove.
--
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20071008-146176-dirstate-cache.diff
Type: text/x-diff
Size: 15812 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20071008/d7914b37/attachment.bin
More information about the bazaar
mailing list