On Fri, Feb 24, 2017 at 09:32:13AM -0800, Junio C Hamano wrote: > Ian Jackson writes: > > > I have been thinking about how to do a transition from SHA1 to another > > hash function. > > Good. I think many of us have also been, too, not necessarily just > in the past few days in response to shattered, but over the last 10 > years, yet without coming to a consensus design ;-) > > > I have concluded that: > > > > * We can should avoid expecting everyone to rewrite all their > > history. > > Yes. There are security implications for old objects if we mix hashes, but I suppose people who want better security will just rewrite history anyway. > As long as the reader can tell from the format of object names > stored in the "new object format" object from what era is being > referred to in some way [*1*], we can name new objects with only new > hash, I would think. "new refers only to new" that stratifies > objects into older and newer may make things simpler, but I am not > convinced yet that it would give our users a smooth enough > transition path (but I am open to be educated and pursuaded the > other way). I would simply use multihash[0] for this purpose. New-style objects serialize data in multihash format, so it's immediately obvious what hash we're referring to. That makes future transitions less problematic. [0] https://github.com/multiformats/multihash -- brian m. carlson / brian with sandals: Houston, Texas, US +1 832 623 2791 | https://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: https://keybase.io/bk2204