Приветствую.
Просьба помочь разобраться с корректностью настройки hook из одного репозитория в другой.
Есть пользователи: git:git и support:support.
У пользователя git задана домашняя папка /home/git/, в которой лежат подпапки вида: support.git, dev.git и т.п. Каждая подпапка содержит индекс репозитория соответствующих пользователей, support, например.
У пользователя support задана домашняя папка: /home/support/public_html/www/ В ней расположен git-репозиторий. В эту папку выкладываются изменения. Потом, в ручном режиме, этот репозиторий push-ится в папку /home/git/support/
Решил все автоматизировать - для репозитория support на sh написал hook, который должен сразу после коммита push-ить все изменения в индекс репозитория.
Но возникла проблема с правами доступа. Сейчас: support:support / 775(folder) / 664 (files) >>> /home/support/public_html/www/
git:git / 775(folder) / 664 (folder) / chmod g+s >>> /home/git/support.git/
$ id support uid=906(support) gid=906(support) группы=906(support),909(git)
При push-е из репозитория support в репозиторий support.git выдается сообщение вида:
$ git push /home/git/support.git/ master Counting objects: 5, done. Delta compression using up to 24 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 287 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: error: insufficient permission for adding an object to repository database ./objects remote: fatal: failed to write object error: unpack failed: unpack-objects abnormal exit To /home/git/support.git/ ! [remote rejected] master -> master (unpacker error) error: failed to push some refs to '/home/git/support.git/'
Если я делаю chgrp support -R /home/git/support.git/, то hook отрабатывает нормально.
Но тогда получается, что пользователь support имеет полный доступ к индексу репозитория.
Мне надо, чтобы на основном репозитории мог работать пользователь support:support, спокойно push-ил через hook в автоматическом режиме в индекс репозитория, который находится под управлением git:git.
Так вообще возможно или я не совсем корректно организовал работу репозиториев?