Использование gitosis для указания разрешений на каждую ветку?
С gitosis можно ли указать права на запись, чтобы пользователи могли свободно перемещаться в ветки с собственным именем, но не сливались с мастером? Например. $USER/test1.. $USER/test5
Это означает, что вы можете разместить только один репозиторий для каждого проекта, вместо того чтобы размещать несколько репозиториев для одного и того же проекта, характерного для каждого пользователя:
project1-user1
project1-user2
project1-user3
...
project5-user1
project5-user2
project5-user3
Ответы
Ответ 1
Гитоз контролирует доступ к репозиториям, но не веткой или фиксацией. Таким образом, вы можете поместить мастера в репо, который имел доступ только для чтения и позволял пользователям нажимать отдельные ветки на другое репо (или на каждого пользователя, как вы говорите). Я не видел, чтобы кто-то увеличивал гитоз для контроля более тонкого зерна.
Если вам действительно необходимо значительно ограничить доступ к вашим пользователям, и вы хотите использовать Git, то, возможно, вы должны получать только исправления по электронной почте и сохранять свое репо как доступное только для чтения.
Ответ 2
Проект Gitolite предлагает эту функцию. Это переписывание Гитоза в Perl. Его код можно найти в github
Когда я впервые написал этот ответ, он не поддерживал интеграцию gitweb
или git-daemon
, но теперь делает это.
Ответ 3
Этот script, кажется, выполняет управление доступом на ветку:
http://www.kernel.org/pub/software/scm/git/docs/howto/update-hook-example.txt
Ответ 4
Gitolite достаточно хорошо поддерживает разрешения по названиям ветвей или тегов.
В книге Pro GIT в этом разделе подробно объясняется, как ее настроить и настроить право доступа к ветки. Найдите "Конфигурационные файлы и правила контроля доступа" на этой странице.