状況
- 自分で建てたgitサーバー上のリモートリポジトリにpushしたい
- リモートリポジトリのアドレスは``git://hostname/hoge.git''で登録してある
- どういうわけかpushが失敗するがpullやcloneはできる
- ``username@hostname:/foo/bar/hoge.git''の形式で登録した場合はpushできる
- リモートリポジトリは``/foo/bar/''以下に配置してある
``git push origin master''した時のエラーの内容は以下の通り
Counting objects: 8, done. Delta compression using up to 8 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 761 bytes, done. Total 5 (delta 3), reused 0 (delta 0) error: unpack failed: unpack-objects abnormal exit To git://hostname/hoge.git ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to 'git://hostname/hoge.git'
解決法
``sudo chown -R gitdaemon /foo/bar/hoge.git''で万事解決
原因
いつの間にかbareリポジトリ内のファイルの一部の所有者がrootとかになってたとかですかね?