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

Re: [PATCH] add the ability to create and retrieve delta objects

From
Nicolas Pitre <nico@cam.org>
Date
May 5, 2005, 03:25 UTC
Message-ID
<Pine.LNX.4.62.0505042311550.14033@localhost.localdomain>
In-Reply-To
<Pine.LNX.4.58.0505041501220.2328@ppc970.osdl.org>
On Wed, 4 May 2005, Linus Torvalds wrote:
> I'll happily take the patch and just not use the delta packing myself (at 
> least until I trust it). But before I take the patch I want to make sure 
> that people agree on it, and that it's been tested well enough that it 
> won't cause people to corrupt their repositories.

To that effect I'm adding knowledge of delta objects to fsck-cache, to verify lists of deltas are all reachable and that they all expand to the expected data. This way it would be a good test to completely deltafy a whole repository, run fsck-cache to ensure everything is fine, and undeltafy it all to see if things are still sane.

> For example, I do _not_ want to be in the situation SVN is in, where if
> you corrupt your SVN database, you're totally screwed. There's a real
> advantage to not having fancy data structures or complicated consistency
> rules.

With deltas it is still a bit more risky by design since many objects end up depending on a single one. You loose that top object and it's all the delta chain that's gone. But having the choice to use them or not is what makes the whole system flexible and suited to anyone's balance between robustness vs disk space. Converting back and forth is certainly not a problem with the git model.

And if you deltafy things such that the objects in your head tree are always top of delta chain then you're not badly affected if some intermediate delta objects are corrupted since they are part of old trees only.

Nicolas
Previous: Chris MasonNext: Geert Bosch
Message 27 of 32 in “RFC: adding xdelta compression to git”
  1. Alon ZivMay 3, 2005
  2. Nicolas PitreMay 3, 2005
  3. Linus TorvaldsMay 3, 2005
  4. Davide LibenziMay 3, 2005
  5. C. Scott AnanianMay 3, 2005
  6. Linus TorvaldsMay 3, 2005
  7. Davide LibenziMay 3, 2005
  8. add the ability to create and retrieve delta objectsNicolas Pitre, May 3, 2005
  9. Chris MasonMay 3, 2005
  10. Nicolas PitreMay 3, 2005
  11. Linus TorvaldsMay 3, 2005
  12. Chris MasonMay 3, 2005
  13. C. Scott AnanianMay 3, 2005
  14. Chris MasonMay 3, 2005
  15. Chris MasonMay 3, 2005
  16. Nicolas PitreMay 3, 2005
  17. Chris MasonMay 3, 2005
  18. Nicolas PitreMay 3, 2005
  19. Chris MasonMay 3, 2005
  20. Linus TorvaldsMay 3, 2005
  21. add the ability to create and retrieve delta objectsNicolas Pitre, May 3, 2005
  22. Chris MasonMay 4, 2005
  23. C. Scott AnanianMay 4, 2005
  24. Chris MasonMay 4, 2005
  25. Linus TorvaldsMay 4, 2005
  26. Chris MasonMay 4, 2005
  27. Nicolas PitreMay 5, 2005
  28. Geert BoschMay 4, 2005
  29. Chris MasonMay 4, 2005
  30. Nicolas PitreMay 5, 2005
  31. Dan HolmsandMay 3, 2005
  32. C. Scott AnanianMay 3, 2005

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.