Re: [PATCH] Implement fast hash-collision detection
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 30, 2011, 18:05 UTC
- Message-ID
- <7vzkfdqye3.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CACsJy8A6kGmn0h0xdxfTC4krXgc8hzO1fHTdqfk0YnASGN5K0w@mail.gmail.com>
Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
> What I'm thinking is whether it's possible to decouple two sha-1 roles > in git, as object identifier and digest, separately.
Why it would be a good thing? If you have a collided identifier, somebody has to choose which blob a particular tree wants to have at the path, and because the tree would not record anything but the identifier, you cannot.
Show 5 quoted lines
> ... > The day sha-1 is broken, a project can generate new digests from its > old good repo and enforce developers to use new digests for > verification instead of sha-1. sha-1 is still used by git as > identifier after that day.
And an old blob that is identified with a SHA-1 now has a new blob that has different contents but happens to have the same SHA-1. How does Git decide which blob to use when a particular object is named by the SHA-1?