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
CMChris Mason <mason@suse.com>
Date
May 3, 2005, 16:09 UTC
Message-ID
<200505031209.52460.mason@suse.com>
In-Reply-To
<Pine.LNX.4.58.0505030804170.3594@ppc970.osdl.org>
On Tuesday 03 May 2005 11:07, Linus Torvalds wrote:
Show 6 quoted lines
> On Tue, 3 May 2005, Chris Mason wrote:
> > On the full import of all the bk->cvs changesets, the average file size
> > in .git is 4074 bytes.  73% of the files are 4096 bytes or smaller.
>
> Have you checked how many of those are blobs?
>

I've got cg-admin-lsobj running (effectively find .git -type f | xargs cat-file), it is taking a looong time but the ratios seem to stay pretty constant as it makes progress:

total: 186863 blob: 93688 (6.6 per commit) commit: 14172 tree: 79003 (5.5 per commit)

Show 11 quoted lines
> For many commits, we generate as many (or more) _tree_ objects as we
> generate blobs.
>
> And tree obejcts from the same "supertree" really is something that I
> wouldn't mind packing some way, because they really tend to be very much
> related (since they refer to each other). Eg the commit and the top-level
> tree are almost always a pair, since you'd get a shared top-level tree
> only with two commits that have the exact same content (which definitely
> happens, don't get me wrong, but it we get some duplication for that case,
> we'd still be winning).
>

The packed item patch wouldn't duplicate info in this case. When it initially creates the packed buffer (before compression), it checks for an existing file with the same sha1 and returns if one is found. This is to preserve the optimizations for write_tree case where it frequently tries to create files that already exist.

-chris
Previous: Linus TorvaldsNext: C. Scott Ananian
Message 12 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.