lock free dirstate - prototype

Robert Collins robertc at robertcollins.net
Wed Sep 30 21:59:03 BST 2009


On Wed, 2009-09-30 at 09:19 -0500, John Arbash Meinel wrote:
> 
> I'm pretty sure the way the code is now, we hash it whether the
> content
> has changed or not at some point.

I'm equally sure we don't.

> The #1 reason why we update the hashcache during 'status' is because
> 'bzr update' and 'bzr merge' and 'bzr commit' did *not*. We squashed
> at
> least 'bzr commit', I don't know about the rest.
> 
> The idea here is that those commands tend to change a *lot* of file 

The way we squashed commit was to change iter_changes to only hash if it
can't determine 'different'. As soon as 'different' is determined, it
won't hash. Commit feeds the stat cache; possibly revert doesn't.

Also, I have an indirection file - the 'current' pointer ;).

-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20091001/3e72ac9b/attachment.pgp 


More information about the bazaar mailing list