問題
AWS上で運用しているボットのリポジトリを最新化しようとしてgit pull したときに以下のようなエラーが発生していた。 ちょいちょい頻発するのだけど、毎回どう解消したっけ?ってなるので備忘録として残しておきます。
error: insufficient permission for adding an object to repository database .git/objects
表示されたメッセージは以下。
[hogeuser@ip-172-31-41-136 hogehoge]$ git pull origin master Enter passphrase for key '/home/hogeuser/.ssh/id_rsa': remote: Enumerating objects: 33, done. remote: Counting objects: 100% (21/21), done. remote: Compressing objects: 100% (9/9), done. remote: Total 13 (delta 5), reused 8 (delta 4), pack-reused 0 error: insufficient permission for adding an object to repository database .git/objects fatal: failed to write object fatal: unpack-objects failed
原因
エラーメッセージに記載されているようにパーミッション周りの問題みたいなので、最悪クローンし直せばよいのだけど、毎回やるのは手間なので参考記事のように.git/objectsの権限を変更しました。
$ sudo chmod -R 777 .git/objects
本当は運用サーバー上にリポジトリを直接クローンするよりCIとかで資材だけ配布すれば良いのだけど、それほどコストかけるほどのものではないので直接リポジトリをクローンして運用している状況。 おそらく今後も発生するかと思うのでメモしておこう。