On 2022-06-21 at 10:25:01, Ævar Arnfjörð Bjarmason wrote: > > But the reason I'd still say "no" on the technical/UX side is: > > * The inter-op between SHA-256 and SHA-1 repositories is still > nonexistent, except for a one-off import. I.e. we don't have any > graceful way to migrate an existing repository. True, but that doesn't meant that new repositories couldn't use SHA-256. > * For new repositories I think you'll probably want to eventually push > it to one of the online git hosting providers, none of which (as far > as I'm aware) support SHA-256 repos. This, in my view, is the only compelling reason not to use it for new repositories. > * Even if not, any local git tooling that's not part of git.git is > likely to break, often for trivial reasons like expecting SHA-1 sized > hashes in the output, but if you start using it for your repositories > and use such tools you're very likely to be the first person to run > into bugs in those areas. It's my hope to see libgit2 working on SHA-256 repositories in the relatively near future. > But more importantly (and note that these views are definitely *not* > shared by some other project members, so take it with a grain of salt): > There just isn't any compelling selling point to migrate to SHA-256 in > the near or foreseeable future for a given individual user of git. I wholly disagree. SHA-1 is obsolete, and as soon as hosting providers support SHA-256, all new repositories should be SHA-256. There is no other defensible reason to continue to use SHA-1 today. > The reason we started the SHA-1 -> $newhash (it wasn't known that it > would be SHA-256 at the time) was in response to https://shattered.io; > Although it had been discussed before, e.g. the thread starting at [1] > in 2012. > > We've since migrated our default hash function from SHA-1 to SHA-1DC > (except on vanilla OSX, see [2]). It's a variant SHA-1 that detects the > SHAttered attack implemented by the same researchers. I'm not aware of a > current viable SHA-1 collision against the variant of SHA-1 that we > actually use these days. That's true, but that still doesn't let you store the data. There is some data that you can't store in a SHA-1 repository, and SHA-1DC is extremely slow. Using SHA-256 can make things like indexing packs substantially faster. -- brian m. carlson (he/him or they/them) Toronto, Ontario, CA