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

Re: Achieving efficient storage of weirdly structured repos

From
Nicolas Pitre <nico@cam.org>
Date
Apr 7, 2008, 00:36 UTC
Message-ID
<alpine.LFD.1.00.0804062028260.2947@xanadu.home>
In-Reply-To
<20080407001833.GA16558@sigill.intra.peff.net>
On Sun, 6 Apr 2008, Jeff King wrote:
Show 12 quoted lines
> On Sun, Apr 06, 2008 at 08:13:10PM -0400, Nicolas Pitre wrote:
> 
> > Well, in your example, the large image part should already be common to 
> > many objects due to deltas if they're really the same: different objects 
> > will only have different EXIF data plus a delta reference to the same 
> > base image object. So in a way the split is already there.  Needs only 
> > that some applications exploit this information at runtime.
> 
> Yes, the resulting packfiles find the deltas and are pretty efficient
> (although it is quite slow to pack).  However, the delta information is
> not used at all for inexact rename detection. Are you proposing to make
> that information available to the rename detector?

In practice I don't know how well that would work since the current heuristic groups deltas and their base according to the name under which those objects are known. So it is possible that some inexact renames end up creating objects that currently never delta against each other even if that would be the right thing to do.

But in some cases, that might be beneficial to look at the delta object themselves when diffing files as the delta might already contain the information telling the upper layer that file A and B are in fact 90% the same and that they differ from offset X to Y only.

Nicolas
Previous: Jeff King
Message 14 of 14 in “Achieving efficient storage of weirdly structured repos”
  1. Roman ShaposhnikApr 3, 2008
  2. Linus TorvaldsApr 3, 2008
  3. Jakub NarebskiApr 4, 2008
  4. Nicolas PitreApr 4, 2008
  5. Pieter de BieApr 4, 2008
  6. Shawn O. PearceApr 5, 2008
  7. Roman ShaposhnikApr 4, 2008
  8. Linus TorvaldsApr 4, 2008
  9. Roman ShaposhnikApr 6, 2008
  10. Linus TorvaldsApr 6, 2008
  11. Jeff KingApr 6, 2008
  12. Nicolas PitreApr 7, 2008
  13. Jeff KingApr 7, 2008
  14. Nicolas PitreApr 7, 2008

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.