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

Re: git clone: very long "resolving deltas" phase

From
Nicolas Pitre <nico@fluxnic.net>
Date
Apr 7, 2010, 14:08 UTC
Message-ID
<alpine.LFD.2.00.1004070952290.7232@xanadu.home>
In-Reply-To
<20100407080049.GA14041@LK-Perkele-V2.elisa-laajakaista.fi>
On Wed, 7 Apr 2010, Ilari Liusvaara wrote:
Show 15 quoted lines
> On Wed, Apr 07, 2010 at 09:54:29AM +0400, Vitaly Berov wrote:
> > I suspected the security reasons.
> > 
> > Ok, we work in trusted environment. How can we turn this behavior off?
>  
> It can't be turned off. Protocol requires client to recompute hashes
> as they are not explicitly available in transport stream (must be inferred
> instead).
> 
> > >This being said, you should never have to wait 6 hours for that phase to
> > >complete.  It is typically a matter of minutes if not seconds.
> 
> The reasons why it might take 6 hours (offhand from memory):
> 
> - Extremely large repo

Six hours is still way out of the expected computational requirement. That's an expected time for an aggressive repack for example, where _each_ delta is attempted against a different base up to 250 times. But when indexing a fetched pack, each delta is expected to be computed only once.

> - Very large files in repo pushing client into swap.

This shouldn't happen since commit 92392b4a which provide a cap on memory usage during the delta resolution process.

So without a look at the actual repository causing this pathological behavior it is hard to guess what the issue and the required fix might be.

Nicolas
Previous: Vitaly BerovNext: Sverre Rabbelier
Message 35 of 39 in “git clone: very long "resolving deltas" phase”
  1. Vitaly BerovApr 6, 2010
  2. Matthieu MoyApr 6, 2010
  3. Vitaly BerovApr 6, 2010
  4. VitalyApr 6, 2010
  5. Andreas EricssonApr 6, 2010
  6. Nicolas PitreApr 6, 2010
  7. Marat RadchenkoApr 7, 2010
  8. Nicolas PitreApr 7, 2010
  9. Nicolas PitreApr 6, 2010
  10. Nicolas PitreApr 6, 2010
  11. VitalyApr 7, 2010
  12. Nicolas PitreApr 7, 2010
  13. Vitaly BerovApr 9, 2010
  14. Matthieu MoyApr 9, 2010
  15. Nicolas PitreApr 9, 2010
  16. Vitaly BerovApr 10, 2010
  17. Nicolas PitreApr 9, 2010
  18. Vitaly BerovApr 10, 2010
  19. Vitaly BerovApr 10, 2010
  20. Nicolas PitreApr 11, 2010
  21. VitalyApr 12, 2010
  22. Vitaly BerovApr 6, 2010
  23. Nicolas PitreApr 6, 2010
  24. Vitaly BerovApr 7, 2010
  25. Ilari LiusvaaraApr 7, 2010
  26. VitalyApr 7, 2010
  27. Ilari LiusvaaraApr 7, 2010
  28. Jakub NarebskiApr 7, 2010
  29. Nicolas PitreApr 7, 2010
  30. VitalyApr 7, 2010
  31. Nicolas PitreApr 7, 2010
  32. Vitaly BerovApr 9, 2010
  33. Nicolas PitreApr 9, 2010
  34. Vitaly BerovApr 10, 2010
  35. Nicolas PitreApr 7, 2010
  36. Sverre RabbelierApr 7, 2010
  37. VitalyApr 7, 2010
  38. VitalyApr 7, 2010
  39. Nicolas PitreApr 7, 2010

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.