[PATCH 2 of 5 v5] store: implement fncache basic path encoding in C

Adrian Buehlmann adrian at cadifra.com
Tue Sep 11 17:59:00 CDT 2012


On 2012-09-10 22:34, Bryan O'Sullivan wrote:
> store: implement fncache basic path encoding in C

I have a (possibly crazy) idea:

What if we would do a new repo format - let's call it "fasthash" [1] -
with the following characteristics:

a) fixes issue3621
b) does a slightly simpler encoding for hashed paths
c) uses the same encoding as we currently have for short paths

..and then release the new format together with an implementation in C.

I think the new repo format should be the default for new clones, as we
did with the previous repo format changes.

Existing repositories would continue to use the encoding(s) implemented
in Python.

If users wanted to profit from the fast C implementation, they would
have to "clone --pull" their existing repositories.

The new format could be disabled with a new config option format.fasthash=0

[1] proposals for better names are welcome


More information about the Mercurial-devel mailing list