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

Re: git clone dies (large git repository)

From
Jakub Narebski <jnareb@gmail.com>
Date
Aug 22, 2006, 00:42 UTC
Message-ID
<ecdjub$bed$1@sea.gmane.org>
In-Reply-To
<7v3bbpty7j.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 13 quoted lines
> "Troy Telford" <ttelford@linuxnetworx.com> writes:
> 
>> I'm thinking of it as an option for git-repack-- that the user can set
>> the maximum size of any individual pack, and after that limit is
>> reached, a  new pack file is started.  (ie. --max-size 2GB) and will
>> end up with two  packs, each 2GB in size.
> 
> The way I would suggest you do it is not by size but by distance
> from the latest.  If you want to split the kernel history for
> example, you repack up to 2.6.14 for example, and then repack
> the remainder.  That way, you can optimize for size for older
> (presumably less frequently used) data while optimizing for
> speed for more reent stuff.

If there would be some enhancement to pack files allowing either limiting the size of pack (e.g. filesystem limits, mmap limits) and/or mmaping only fragment or fragments of pack file, the maximal size of the pack, or maximal size of the mmapped fragment should be configurable per repository, not olny as an option to some command (git-repack for example).

Probably would need some enhancement to git-fetch/git-clone too...
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Previous: Junio C Hamano
Message 6 of 6 in “git clone dies (large git repository)”
  1. Troy TelfordAug 18, 2006
  2. Jakub NarebskiAug 19, 2006
  3. Junio C HamanoAug 19, 2006
  4. Troy TelfordAug 21, 2006
  5. Junio C HamanoAug 22, 2006
  6. Jakub NarebskiAug 22, 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.