[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