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

Re: heads-up: git-index-pack in "next" is broken

From
Nicolas Pitre <nico@cam.org>
Date
Oct 18, 2006, 13:13 UTC
Message-ID
<Pine.LNX.4.64.0610180902580.1971@xanadu.home>
In-Reply-To
<Pine.LNX.4.63.0610181159050.14200@wbgn013.biozentrum.uni-wuerzburg.de>
On Wed, 18 Oct 2006, Johannes Schindelin wrote:
Show 13 quoted lines
> Hi,
> 
> On Tue, 17 Oct 2006, Junio C Hamano wrote:
> 
> > +/*
> > + * Even if sizeof(union delta_base) == 24 on 64-bit archs, we really want
> > + * to memcmp() only the first 20 bytes.
> > + */
> > +#define UNION_BASE_SZ	20
> 
> Excuse me for joining the game, but why don't you just use the 
> recently introduced hashcmp() for that purpose? AFAIU you do exactly that, 
> you compare hashes.
Yes, and that is what I did originally.

But that could lead to false assumptions (and this thread already proved this code has its share of false assumption leads already). The thing is that the memory chunk that is being compared is not always the same kind of hash as usually used with hashcmp(). Throughout the code hashcmp() is always used with a 20-byte sha1 digest. In this case it can be either a 20-byte sha1 digest, or a long offset value. And by using hashcmp() I would be afraid someone else could assume the hash is always a sha1 digest which it is not.

Nicolas
Previous: Johannes SchindelinNext: Nicolas Pitre
Message 30 of 33 in “heads-up: git-index-pack in "next" is broken”
  1. Junio C HamanoOct 17, 2006
  2. Nicolas PitreOct 17, 2006
  3. Junio C HamanoOct 17, 2006
  4. Nicolas PitreOct 17, 2006
  5. Junio C HamanoOct 17, 2006
  6. Nicolas PitreOct 17, 2006
  7. Sergey VlasovOct 17, 2006
  8. Junio C HamanoOct 17, 2006
  9. Nicolas PitreOct 17, 2006
  10. Nicolas PitreOct 17, 2006
  11. Linus TorvaldsOct 17, 2006
  12. Nicolas PitreOct 17, 2006
  13. Linus TorvaldsOct 17, 2006
  14. Nicolas PitreOct 18, 2006
  15. Linus TorvaldsOct 18, 2006
  16. Nicolas PitreOct 18, 2006
  17. Linus TorvaldsOct 18, 2006
  18. Davide LibenziOct 18, 2006
  19. Linus TorvaldsOct 18, 2006
  20. Davide LibenziOct 18, 2006
  21. Linus TorvaldsOct 18, 2006
  22. Davide LibenziOct 18, 2006
  23. Linus TorvaldsOct 18, 2006
  24. Davide LibenziOct 18, 2006
  25. Junio C HamanoOct 18, 2006
  26. Nicolas PitreOct 18, 2006
  27. Junio C HamanoOct 18, 2006
  28. Junio C HamanoOct 18, 2006
  29. Johannes SchindelinOct 18, 2006
  30. Nicolas PitreOct 18, 2006
  31. Nicolas PitreOct 18, 2006
  32. Junio C HamanoOct 17, 2006
  33. Nicolas PitreOct 18, 2006

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.