У меня возникает эта проблема, когда я пытаюсь вставить 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>'
Раньше у меня это было спорадически, и нам всегда приходилось решать это, когда каждый пользователь переходит в репозиторий и устанавливает разрешения для групп для всех файлов в нем с помощью
chmod -R g+w *
Это никогда не было удовлетворительным решением, и теперь оно укусило нас в задницу, так как один из парней отсутствует, и никто не знает пароль пользователя его репо. Итак, я пытаюсь решить это правильно.
Похоже, ошибка возникает, когда кто-то пытается нажать на изменение, которое изменит каталог репо, принадлежащий другому пользователю (следовательно, установка параметра записи группы выше). Я немного погуглил и нашел пару обсуждаемых решений (ни одно из которых не помогло мне)
1) убедитесь, что группа, с которой размещаются папки репо, является основной группой каждого пользователя (я полагаю, что это уже так: каждый пользователь имеет только одну группу, так что должна быть их основной группой, верно?) 1011 *
2) Настройка git repo core.sharedRepository, как подробно описано здесь: Git: Не удается отправить с одного компьютера
Я изменил это, но это не имело никакого значения. Нужно ли перезагружать конфигурацию или что-то еще, чтобы действительно внести изменения?
Вот как выглядит мой репозиторий atm:
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedRepository = all
[receive]
denyNonFastForwards = True
Благодарен за любые советы и предложения!
макс