From: Jonathan Nieder Date: Sun, 13 Nov 2011 18:27:57 GMT Subject: Re: git behaviour question regarding SHA-1 and commits Message-ID: <20111113182757.GA15194@elie.hsd1.il.comcast.net> In-Reply-To: Hi Vinassa, vinassa vinassa wrote: > I am wondering about how git behaves currently, if I kinda win the > lottery of the universe, and happen to create a commit with a SHA-1 > that is already the SHA-1 of another commit in the previous history. > However improbable. That would be great! You could definitely get an academic paper out of it. > Would that be detected, so that I could just add a newline, and then > commit with a different resulting SHA-1, > would I just lose one of those commits (hopefully the new one), would > I end up with a corrupted repository? I suspect that one of the two commits would "win" the right to be shown by commands like "git log". A commit made after one of the commits participating in the hash collision might be stored as a delta against the wrong one in the pack, producing errors when you try to access it (which is good, since it helps you find the hash collision and you can get a paper and prizes). Though I haven't tested. It would be nice to have an md5git (or even truncated-sha1-git) program to test this kind of thing with. Thanks and hope that helps, Jonathan