Re: Git commit hash clash prevention
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:45:26
Hi, On Thu, 2 Oct 2008, Jakub Narebski wrote:
martin f krafft [off-list ref] writes:quoted
the other day during a workshop on Git, one of the attendants asked about the scenario when two developers, Jane and David, both working on the same project, both create a commit and the two just so happen to have the same SHA-1. I realise that the likelihood of this happening is about as high as the chance of <insert witty joke here>, but it *is* possible, isn't it? Even though this is thus somewhat academic, I am still very curious about it. What happens when David now pulls from Jane? How does Git deal with this?Cannot happen in practice. But just in case git trusts object it already has in repository over object which just got fetched (or pushed).
Oh, maybe the most important part: both David and Jane would have to rewrite their respective history, changing the respective commits in a simple way (such as adding a space to the first line of the commit message or some such). Then, Git is changed to not accept that particular SHA-1 (we'd introduce a black "list"). All in all, it would be like a borked commit; not really easy to fix, but the world would not stop turning because of it. Ciao, Dscho