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

Re: [PATCH] pack-objects: use of version 3 delta is now optional.

From
Nicolas Pitre <nico@cam.org>
Date
Oct 15, 2006, 18:51 UTC
Message-ID
<Pine.LNX.4.64.0610151433310.17085@xanadu.home>
In-Reply-To
<egtu1r$813$1@sea.gmane.org>
On Sun, 15 Oct 2006, Jakub Narebski wrote:
Show 8 quoted lines
> Junio C Hamano wrote:
> 
> > I think that is sensible.  I also was thinking that we should
> > call the current one packv3 and the one with delta-base-offset
> > packv4.
> 
> Just curious: what was the difference between packv1 and packv2,
> and packv3 and packv4?

Pack v1 was really short-lived (one day or two). It used a different encoding for object size and delta size than what exists today. When the current encoding was adopted the pack version was bumped to 2 to make sure anyone, if any, who might have started to rely upon packs in those early days would not end up trying to use incompatible pack data. Backward compatibility was not a concern at all back then of course. So for all practical purposes just consider that pack version 1 never existed.

Pack version 3 simply redefined one bit in the delta encoding that was never used. The former definition of the bit was implemented in the decode part, but attempts to use it in the encode part turned up to be way too costly for really really poor benefits. for details just have a look at commit d60fc1c8649f80c006b9f493c542461e81608d4b.

As for pack v4... My opinion is that nothing justifies it so far. So if I can convince Junio there shouldn't be any v4 just yet.

Nicolas
Previous: Jakub NarebskiNext: Junio C Hamano
Message 7 of 22 in “Recent and near future backward incompatibilities”
  1. Junio C HamanoOct 15, 2006
  2. pack-objects: use of version 3 delta is now optional.Junio C Hamano, Oct 15, 2006
  3. Jakub NarebskiOct 15, 2006
  4. Nicolas PitreOct 15, 2006
  5. Junio C HamanoOct 15, 2006
  6. Jakub NarebskiOct 15, 2006
  7. Nicolas PitreOct 15, 2006
  8. Junio C HamanoOct 16, 2006
  9. Nicolas PitreOct 16, 2006
  10. Nicolas PitreOct 15, 2006
  11. A Large Angry SCMOct 15, 2006
  12. Nicolas PitreOct 16, 2006
  13. Linus TorvaldsOct 15, 2006
  14. Nicolas PitreOct 16, 2006
  15. Junio C HamanoOct 17, 2006
  16. Nicolas PitreOct 17, 2006
  17. A Large Angry SCMOct 15, 2006
  18. Nicolas PitreOct 15, 2006
  19. Junio C HamanoOct 15, 2006
  20. Theodore TsoOct 15, 2006
  21. Linus TorvaldsOct 15, 2006
  22. Stephen HemmingerOct 16, 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.