こんにちは、lisです!
git pullしようとしたら「error: pack-objects died of signal 9」というエラーが発生して、失敗しました。
いくら実行しても同じエラーでpullされてくれません。
ということで解決方法について調べました。
発生したエラー
下記git pull
実行時に出力されるエラーを修正する方法を提示してください。
Auto packing the repository in background for optimum performance. See "git help gc" for manual housekeeping. warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. error: pack-objects died of signal 9 fatal: failed to run repack
解決方法
git configからpack.windowMemoryを設定してあげたら解決しました。
git config --global pack.windowMemory "{size}"
このコマンドの最適値は、PCのスペックやメモリ使用量によって異なるようです。
ぼくはとりあえず、1024MB (1GB)を設定してみました。
git config --global pack.windowMemory "1024m"
pack.windowMemoryについて
pack.windowMemoryは初期値だと無制限に設定されているらしい。
なので、サイズの大きいリポジトリで操作したときにメモリ不足が発生→OSからkillされる……みたいなことが起きているというのが、ざっくりとした原因のようでした。
だからsignal 9で死んだよってエラーメッセージだったんですね。
今回の設定で、使用できるメモリの上限値を設定してあげたので、おおよそ死ぬことはないでしょう。
ただし、設定値が小さいとgit pull等のパフォーマンスが下げる可能性があります。
そのあたりはPCのスペックや、普段の使用状況と相談になりそうですね。
参考
コチラを参考にしました。ありがとうございました!
あとがき
みなさまもバカデカリポジトリにはご注意を……