Использование gitosis для указания разрешений для каждой ветки?
Вопрос
Можно ли с помощью gitosis указать права на запись, чтобы пользователи могли свободно переходить в ветки со своим именем, но не сливаться с мастером?Например.$USER/test1 ..$USER/test5
Это означает, что вы можете разместить только один репозиторий для каждого проекта, а не размещать несколько репозиториев для одного и того же проекта, специфичных для каждого пользователя:
project1-user1
project1-user2
project1-user3
...
project5-user1
project5-user2
project5-user3
Решение
Gitosis контролирует доступ к репозиториям, но не по веткам или коммитам.Таким образом, вы могли бы поместить мастер в отдельное репо, которое имело доступ только для чтения, и позволить пользователям переносить свои отдельные ветки в другое репо (или по одной для каждого пользователя, как вы говорите).Я не видел, чтобы кто-нибудь расширял гитоз для более точного контроля.
Если вам действительно нужно так сильно ограничить доступ пользователей и вы хотите использовать Git, то, возможно, вам следует получать исправления только по электронной почте и сохранять свой репозиторий только для чтения.
Другие советы
Кажется, этот сценарий выполняет контроль доступа к каждой ветке:
http://www.kernel.org/pub/software/scm/git/docs/howto/update-hook-example.txt
Гитолит довольно хорошо поддерживает разрешения по именам ветвей или тегов.
В книге Pro GIT эта секция подробно объясняет, как его настроить и настроить права доступа для каждой ветки.Найдите «Файл конфигурации и правила контроля доступа» на этой странице.