Re: RFC: Another proposed hash function transition plan
- Date: Sun, 5 Mar 2017 03:02:25 -0800 (PST)
- From: David Lang <david@xxxxxxx>
- Subject: Re: RFC: Another proposed hash function transition plan
A fast bidirectional mapping between sha1-names and sha256-names of
all local objects in the repository is kept on disk. The exact format
of that mapping is to be determined.
All operations that make new objects (e.g., "git commit") add the new
objects to the translation table.
This seems like a rather nontrival thing to design. It will need to hold
millions of mappings, and be quickly searchable from either direction (sha1->new
and new->sha1) while still be fairly fast to insert new records into.
For Linux, just the list of hashes recording the commits is going to be in the
millions, whiel the list of hashes of individual files for all those commits is
going to be substantially larger.