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

Re: [PATCH/RFC] reverse the pack-objects delta window logic

From
Nicolas Pitre <nico@cam.org>
Date
Apr 26, 2006, 17:48 UTC
Message-ID
<Pine.LNX.4.64.0604261341200.18520@localhost.localdomain>
In-Reply-To
<7vpsj4sxer.fsf@assigned-by-dhcp.cox.net>
On Tue, 25 Apr 2006, Junio C Hamano wrote:
Show 11 quoted lines
> Nicolas Pitre <nico@cam.org> writes:
> 
> > Note, this is a RFC particularly to Junio since the resulting pack is 
> > larger than without the patch with git-repack -a -f.  However using a 
> > subsequent git-repack -a brings the pack size down to expected size.  So 
> > I'm not sure I've got everything right.
> 
> I haven't tested it seriously yet, but there is nothing that
> looks obviously wrong that might cause the inflation problem,
> from the cursory look after applying the patch on top of your
> last round.

Never mind. I found a flaw in the determination of delta_limit when reparenting a delta target. The immediate parent's delta_limit is readjusted when its longest delta is moved to another base, but if that parent was itself a delta then the delta_limit adjustment is not propagated back up to the top. This means that some objects were falsely credited with too high delta_limit.

And actually I'm not sure how to solve that without walking the tree up to the top each time, which I want to avoid as much as possible.

Nicolas
Previous: Nicolas PitreNext: Nicolas Pitre
Message 4 of 9 in “reverse the pack-objects delta window logic”
  1. reverse the pack-objects delta window logicNicolas Pitre, Apr 26, 2006
  2. Junio C HamanoApr 26, 2006
  3. Nicolas PitreApr 26, 2006
  4. Nicolas PitreApr 26, 2006
  5. Nicolas PitreApr 27, 2006
  6. use delta index data when finding best delta matchesNicolas Pitre, Apr 27, 2006
  7. Junio C HamanoApr 28, 2006
  8. Nicolas PitreApr 28, 2006
  9. Junio C HamanoApr 27, 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.