git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Geoff Russell <geoffrey.russell@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Large pack causes git clone failures ... what to do?
Date: Tue, 31 Aug 2010 11:02:47 -0700	[thread overview]
Message-ID: <20100831180247.GF32601@spearce.org> (raw)
In-Reply-To: <AANLkTi=1iLx=-9gxkGzuhrbpA005VPSp0itkAkOG4D4z@mail.gmail.com>

Geoff Russell <geoffrey.russell@gmail.com> wrote:
> I did a "git gc" on a repository and ended up with a 4GB pack ... now I
> can't clone the repository and get the following:
> 
> remote: fatal: Out of memory? mmap failed: Cannot allocate memory
> remote: aborting due to possible repository corruption on the remote side.
> fatal: early EOF
> error: git upload-pack: git-pack-objects died with error.
> fatal: git upload-pack: aborting due to possible repository corruption
> on the remote side.
> fatal: index-pack failed
> 
> How do I deal with this?   I'm running git version 1.6.2.3

Are you on a 32 bit Linux system?  Or 64 bit?  Git should be auto
selecting a unit that would allow it to mmap slices of that 4GB pack.

> I've looked at "git repack --max-pack-size", but which that
> created new packs it didn't delete the old monster.

You really needed to run:

  git repack --max-pack-size=.. -a -d

The -d flag tells it to remove the old packs once the new packs
are ready, and the -a flag tells it to reconsider every object
in the repository, rather than just those that are loose.

But if you can't clone it, you probably can't repack it.  Clone works
by creating a pack file on the server, just like repack does.
Except it sends the pack out to the network stream instead of to
local disk.

-- 
Shawn.

  reply	other threads:[~2010-08-31 18:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-31  7:16 Large pack causes git clone failures ... what to do? Geoff Russell
2010-08-31 18:02 ` Shawn O. Pearce [this message]
2010-08-31 22:03   ` Geoff Russell
2010-09-01  1:53     ` Geoff Russell
2010-09-01  3:02       ` Geoff Russell
2010-09-01 14:38       ` Shawn O. Pearce
2010-09-06  0:34         ` Geoff Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100831180247.GF32601@spearce.org \
    --to=spearce@spearce.org \
    --cc=geoffrey.russell@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).