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, 02:23 UTC
Message-ID
<Pine.LNX.4.64.0610172209070.1971@xanadu.home>
In-Reply-To
<7vac3uif6i.fsf@assigned-by-dhcp.cox.net>
On Tue, 17 Oct 2006, Junio C Hamano wrote:
> The part you pointed out to me about "accidental collision"
> still bothers me somewhat.
I'll try to clear them away.
> Right now we do not produce ref-delta and ofs-delta in the same
> stream, 
It is fully supported nevertheless.
> but if somebody did so then it would mean a disaster to have an 
> accidental collision of an 8-byte offset value plus 12-byte traiing 
> NUL and another base object whose object name happens to match that 
> pattern.

Not really. The only effect that would have on the sorted list of delta entries -- such sorting used to bring all deltas with the same base object contigously -- is that those deltas might not be perfectly contigous wrt their base object. This is why there is a test to skip deltas if they happen not to be of the expected type.

> I am actually Ok if we say the code assumes one stream has only
> ref-delta or ofs-delta and never both.
I'm perfectly OK with both types completely randomized.
> But then I suspect the first pass of parse_pack_objects() should
> make sure that assumption holds true for the pack being
> inspected and barf if it is not.
This is an unnecessary restriction though.
> Also the second pass do not have to run two find_delta_childs() calls 
> per delta object because by that time we know which kind would never 
> appear in the packfile.

True, but the flexibility is worth having I think. It makes the thing more robust instead of less.

> By the way can we call that find_delta_children() pretty please?
I have no problem with that.
Nicolas
Previous: Junio C HamanoNext: Junio C Hamano
Message 26 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.