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

Re: [RFC] send-pack: allow skipping delta when sending pack

From
Junio C Hamano <junkio@cox.net>
Date
May 21, 2006, 06:17 UTC
Message-ID
<7vy7wvx5o9.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060521054827.GA18530@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> The result is much better performance in my case. However, the method
> seems quite hack-ish, so I wanted to get comments on how this should be
> done. Possibilities I considered:
>   1. A command line option to git-send-pack. The problem with this is
>      that support is required from git-push and cg-push to pass the
>      option through.

When you pull from such a repository you would also need to be able to control this. The repository owner knows what's in the repository a lot more than the downloader, so some repository configuration that tells upload-pack to use such-and-such delta window is also needed. But as you say below:

Show 7 quoted lines
>   3. Ideally, we could do some heuristic to see if deltification will
>      yield helpful results. In particular, we may already have a pack
>      with these commits in it (especially if we just repack before a
>      push). If we can re-use this information, it at least saves
>      deltifying twice (once to pack, once to push). In theory, I would
>      think the fact that we don't pass --no-reuse-delta to pack-objects
>      means that this would happen automatically, but it clearly doesn't.

The lack of --no-reuse-delta just means "if the object we are going to send is a delta in the source, and its delta base is also something we are going to send, then pretend that it is the base delta for that object to skip computation". What you want here is "if the object we are going to send is not a delta in the source, and there are sufficient number of other objects the object could have been deltified against, then it is very likely that it was not worth deltifying when it was packed; so it is probably not worth deltifying it now".

Previous: Jeff KingNext: Jeff King
Message 2 of 10 in “[RFC] send-pack: allow skipping delta when sending pack”
  1. Jeff KingMay 21, 2006
  2. Junio C HamanoMay 21, 2006
  3. Jeff KingMay 21, 2006
  4. Jakub NarebskiMay 21, 2006
  5. Jeff KingMay 21, 2006
  6. Junio C HamanoMay 21, 2006
  7. Jakub NarebskiMay 21, 2006
  8. Junio C HamanoMay 21, 2006
  9. Jeff KingMay 21, 2006
  10. Junio C HamanoMay 21, 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.