Gitサイズが大きいときのクローンでは、エラーが発生することがある。
remote: Counting objects: 13751, done.
remote: Compressing objects: 78% (2213error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: warning: suboptimal pack - out of memory
remote: fatal: Out of memory, malloc failed
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
git did not exit cleanly (exit code 128) (2403 ms @ 2016/01/18 18:39:49)
その場合、以下のように、depth=1で1回Cloneしたあと、Fetchすると取得できるようだ。
以下のコマンドでもできるが、トータスGitなどを使えば、 GUIからも可能。
コマンド例
git clone --depth 1 http://hoge.com/hoge.git
git fetch --depth 5
git fetch --depth 20
git fetch --unshallow
また、サーバ側での設定を変えることで対応することもできる。
サーバ側のConfigファイルに以下の設定をする。
(pack配下だけでいいかも。値はサーバに応じて設定)
[core]
packedGitLimit = 4000m
packedGitWindowSize = 1000m
[pack]
windowMemory = 4000m
SizeLimit = 4000m
threads = 1
window = 0