SVNServ запрещает доступ на запись в каталог с помощью подстановочного совпадения - PullRequest
2 голосов
/ 09 марта 2010

У нас есть требование, чтобы каждый кусок кода, который делает его в производстве, был проверен старшим разработчиком.

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

Следуя рекомендованной структуре каталогов SVN, это выглядит примерно так:

[project-name]/trunk/
[project-name]/branches/
[project-name]/branches/development-01
[project-name]/branches/development-02
[project-name]/branches/task-increasefontsize
[project-name]/branches/release-01
[project-name]/branches/release-02
[project-name]/tags/

Так что в файле authz я хотел бы иметь что-то вроде следующего

[/]
@developers = rw

[/*/branches/release-*]
@developers = r
@senior_developers = rw

Однако я не могу найти никаких доказательств того, что SVN поддерживает * (или любой другой символ подстановки).

Возможна ли такая вещь или мне нужен хук перед фиксацией?

Ответы [ 2 ]

1 голос
/ 10 марта 2010

Можно сделать структуру каталогов

[project-name]/trunk/
[project-name]/branches/development-01 
[project-name]/branches/development-02 
[project-name]/branches/task-increasefontsize
[project-name]/branches/release-01
[project-name]/branches/release-02
[project-name]/tags/
[project-name]/releases/

и запретить доступ к релизам, но при этом вам все равно придется составлять один список отказа для каждого проекта, и что еще хуже, он не соответствует стандартной структуре проекта SVN.

0 голосов
/ 21 апреля 2010

Невозможно иметь подстановочные знаки, как вы хотели бы их использовать. Для этого вам нужно взглянуть на скрипт svnperm.py (просто Google для него), он будет точно соответствовать этой цели.

...