Eu tenho um repositório central vazio que tem essa opção ativada:
git config core.sharedRepository true
Por algum motivo, os outros usuários nesta máquina do CentOS que puxa / empurra a partir do repositório central sempre encontram um erro de permissão ao empurrar para um ramo que alguém já empurrou.
Eu olhei para o diretório de objetos e percebi que quem quer que tenha pressionado primeiro obtém seu nome de usuário definido como o proprietário E o grupo.
Eu o configurei para que todos os usuários pertençam a um grupo de "desenvolvedores" e, em seguida, chgrp -R o repositório básico para estar sob a propriedade do grupo de "desenvolvedores", mas isso ainda não corrigiu o problema.
Alguma outra sugestão?
MAIS INFORMAÇÃO:
Isso é o que acontece quando eu pressiono:
[dave@localhost wd]$ git push
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object
error: pack-objects died of signal 13
error: failed to push some refs to '/gitrepos/repo.git'
Como você pode ver, as permissões dentro da pasta de objetos no repositório central vazio têm dirs com permissões diferentes que pertencem a outro usuário, jane (a lista foi abreviada para legibilidade):
[dave@localhost objects]$ ls -la
total 248
drwxrwxr-x 62 root developers 4096 Dec 13 15:37 .
drwxrwxr-x 9 root developers 4096 Dec 13 15:34 ..
drwxrwxr-x 2 root developers 4096 Dec 12 16:05 01
drwxrwxr-x 2 root developers 4096 Dec 12 16:05 2f
drwxrwsr-x 2 jane jane 4096 Dec 13 15:37 30
drwxrwxr-x 2 root developers 4096 Dec 12 16:19 33
drwxrwxr-x 2 root developers 4096 Dec 12 16:05 39
drwxrwxr-x 2 root developers 4096 Dec 12 16:19 6c
drwxrwxr-x 2 root developers 4096 Dec 12 16:05 89
drwxrwsr-x 2 jane jane 4096 Dec 13 15:37 8b
drwxrwxr-x 2 root developers 4096 Dec 13 05:41 8e
drwxrwxr-x 2 root developers 4096 Dec 12 16:19 90
drwxrwxr-x 2 root developers 4096 Dec 12 14:32 info
drwxrwxr-x 2 root developers 4096 Dec 12 14:32 pack