[PATCH 8 of 8] store: switch to C-based hashed path encoding

Adrian Buehlmann adrian at cadifra.com
Wed Nov 14 08:25:22 UTC 2012


On 2012-11-13 23:10, Bryan O'Sullivan wrote:
> On Tue, Nov 13, 2012 at 2:00 PM, Bryan O'Sullivan <bos at serpentine.com
> <mailto:bos at serpentine.com>> wrote:
> 
>     store: switch to C-based hashed path encoding
> 
> 
> This is the long-awaited patch series that breaks down hashed encoding
> into digestible pieces. I've added a lot of comments (by my standards)
> to explain what's going on.
> 
> While the series could benefit from a review, I'm pretty confident that
> it is now correct.

This is indeed the best looking series I've seen so far.

> The randomized tester exposed two bugs in the C code almost immediately
> the first time I tried it. After fixing those bugs, I have run many
> millions of paths through both the Python and C code, and they always
> produce identical results.

Given how much time I've spent trying to inhibit such bugs in your
earlier patches, would it be possible for you to explain in detail what
those two bugs were? In which function were they?

Given that you have exposed them by testpaths (which is great!), what
path(s) triggered those bugs?

Would it make sense to add those paths to the current explicit tests we
have?



More information about the Mercurial-devel mailing list