У меня есть эта проблема, когда я пытаюсь нажать git:
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To ssh://<repo url>/<repo dir>
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh://<repo url>/<repo dir>'
У меня было это до спорадического времени, и нам всегда приходилось решать его каждым пользователем sshing для репо и устанавливать групповые разрешения для всех файлов в нем с помощью
chmod -R g+w *
Это никогда не было удовлетворительным решением, и теперь он укусил нас в задницу, когда один из парней ушел, и никто не знает пароль своего репо. Итак, я пытаюсь решить это правильно.
Ошибка возникает, когда кто-то пытается отменить изменение, которое изменит репозиторий, принадлежащий другому пользователю (следовательно, установка опции групповой записи выше). Я немного поработал над этим и нашел пару обсуждаемых решений (ни один из них не работал у меня)
1) убедитесь, что группа, к которой принадлежат репозитории, является основной группой пользователей (я считаю, что это уже так: каждый пользователь имеет только одну группу, поэтому она должна быть их основной группой, не так ли?)
2) git параметр repo core.sharedRepository, как описано здесь: Git: невозможно нажать с одного компьютера Я изменил это, но это не имело никакого значения. Нужно ли мне перезагружать конфигурацию или что-то, чтобы действительно повлиять на изменение?
Здесь моя конфигурация repo выглядит как atm:
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedRepository = all
[receive]
denyNonFastForwards = True
Благодарен за любые советы или предложения! макс