git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git commit hash clash prevention

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Oct 2, 2008, 10:07 UTC
Message-ID
<alpine.DEB.1.00.0810021202420.22125@pacific.mpi-cbg.de.mpi-cbg.de>
In-Reply-To
<20081002085358.GA5342@lapse.rw.madduck.net>
Hi,
On Thu, 2 Oct 2008, martin f krafft wrote:
Show 7 quoted lines
> 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.

It _is_ academic. Did you already discuss the chance that your wife gives birth to a mouse? I haven't done the maths yet, but I am pretty certain that this would be more likely than an unintended SHA-1 collision.

> What happens when David now pulls from Jane? How does Git deal with 
> this?

Basically, the commit that David has will not be overwritten. So every commit referring to Jane's commit would point to David's in his repository.

But the more likely case (well, as likely goes) would be that either Jane's or David's object is actually a blob. And Git would complain about a type mismatch then.

Ciao, Dscho

Previous: Jean-Luc HerrenNext: Jakub Narebski
Message 4 of 7 in “Git commit hash clash prevention”
  1. martin f krafftOct 2, 2008
  2. Thomas RastOct 2, 2008
  3. Jean-Luc HerrenOct 2, 2008
  4. Johannes SchindelinOct 2, 2008
  5. Jakub NarebskiOct 2, 2008
  6. Johannes SchindelinOct 2, 2008
  7. Stephan BeyerOct 2, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.