Мелкозернистые разрешения в репозитории SVN - PullRequest
4 голосов
/ 24 мая 2010

Я пытаюсь настроить репозиторий SVN для целой группы пользователей. Разные пользователи должны иметь разные уровни доступа к областям хранилища. Тривиальным примером может быть то, что внешним инженерам необходим доступ к «представлению» и «контроллерам», но не «модели», в то время как внутренним инженерам нужен доступ к «контроллерам» и «модели», но не «представлению».

Это должен быть один репозиторий, потому что (насколько я знаю) это единственный способ гарантировать, что коммиты, затрагивающие несколько модулей, являются атомарными.

Существует ли детальный способ управления доступом пользователей к хранилищу?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 24 мая 2010

Вы можете использовать авторизацию на основе пути.Вы определяете разрешения на чтение или запись для каждого пути в файле;разрешения наследуются.

Например, при использовании групп (@groupname):

# Everyone get read access
[/prj1/trunk]
@backend = R
@frontend = R

#Specific rights
[/prj1/trunk/model]
@backend = RW

[/prj1/trunk/controllers]
@backend = RW
@frontend = RW

[/prj1/trunk/view]
@frontend = RW

Вы ссылаетесь на этот файл в svnserve.conf или httpd.conf(Полное описание см. В предыдущем ответе.)

2 голосов
/ 24 мая 2010

Да, вы можете использовать авторизацию на основе пути в SVN, но я бы крайне не одобрил это.

Во-первых, это сильно влияет на производительность вашего репозитория, когда вы его включаете. Во-вторых, только потому, что разработчикам внешнего интерфейса «нужен» только доступ к представлениям и контроллерам, что происходит в функции, над которой они работают, требует изменений в модели? Либо они вносят изменения сами и фиксируют их своими обновлениями, либо они просят «модельного» разработчика сделать это, и для организации всего требуется дополнительный день.

Пока у вас есть обзоры кода, на самом деле нет смысла для дополнительных обручей.

Даже если у вас нет обзоров кода, история коммитов сможет определить, кто внес изменения в какую часть кода. Если вы действительно не доверяете своим сторонним разработчикам не наступать на чужие пальцы без некоторой модерации, то действительно ли вы доверяете им делать что-либо вообще ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...