Subject: Problem with git push on (somewhat) large binaries

From: "Tobi Stadelmaier" <[email-masked]>
Date: Sat, 3 Apr 2010 13:02:26 +0200

Hi,

I recently encountered a problem while pushing to a remote repository using
ssh
- this usually works fine (and did for the last ~500 or so commits with no
problem), and I was able to pin it down to one commit where somebody added a
bunch of somewhat large (but not *huge*) binaries - about 30 MBs of JPGs,
MOVs
and others overall in that commit.

What I see when I want to push out this branch is the expected:

Pushing to <xxx>
Counting objects: 172, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (72/72), done

..then gits starts to write objects, and gets to object 51 of 172. Then, all
of
a sudden, it gets progressively slower (Kib/s indicator drops from 600K/s to
200, then to 50, and further down) and then after a while it does nothing at
all
any more. Eventually, I get

Write failed: Connection reset by peer
error: pack-objects died of signal 13MiB | 47 KiB/s
error: pack-objects died with strange error
error: failed to push some refs to '<xxx>'

Everything works when I rebase that branch so that I drop that one commit
that
adds the binaries, and then push out the result.

Upgrading the server from git 1.6.1 to 1.7.0.4 didn't help. I first expected
a
cygwin problem (yeah, some of us are on Windows unfortunately), but I tried
it
with a fresh clone on Kubuntu Edgy with git 1.6.3 - same problem. I also
tried
-delta on the binary files in question with .gitattributes as suggested
somwhere, no luck.

SCPing my local repository to the server and then pushing "over the file
system"
there works, though.

Any ideas?

Thanks
Tobi