views:

32

answers:

2

I have a large git repository that I am hosting with Dreamhost. It has grown slowly over time and have had no problems with it until just now. It has no problem pushing and pulling but when I try to clone from the remote the pack-objects process is getting a kill signal 9. From what I have read this is dreamhost killing the process because it is using to much memory.

There are work arounds (clone on the server and then download) but I am looking for a permanent solution. The repository will continue to grow.

Is WebDAV my best option and will everything work the way it does now?

+1  A: 

It sounds like you may have collected too much garbage. Can you run git gc on the remote server? (I'm betting you won't be able to)

If not, try downloading the bare repository (using tar or rsync), run git gc on it, and then upload it once again, overwriting the old one (make sure you have a back up of it, or up-to-date clone, just in case!).

If this fixes your problem (and I suspect it will), then try setting up a cron task to run git gc in your bare repo automatically. Additionally, lowering the gc.auto config variable may help. Try setting, in your bare repo, git config gc.auto 3000.

Tim Harper
I do have shell access to the server. The problem is that if a process runs for too long or uses to much memory dreamhost will kill it.That was the first thing I tried. It did shrink things down a little but not much. I have a cron job that runs `git gc` on all of the repositories on the server once a week so I wasn't expecting it to do much.
Kevin
A: 

From what I can tell all your really lose is hooks. Git treats the WebDAV the same way it would with SSH.

Kevin