views:

92

answers:

2

Hi, We have a requirement that every piece of code that makes it into production will be reviewed by a senior developer.

The way I have envisioned this working is by a naming convention for branches that regular developers cannot check code into.

Following the SVN recomended directory structure this translates into something like.

[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/

So in the authz file I would like to have something like the following

[/]
@developers = rw

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

However I can't find any evidence that SVN supports * (or any other wildcard character).

Is such a thing possible or do I need a pre-commit hook?

+1  A: 

It is possible to do a directory structure of

[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/

and deny access to releases but that still leaves you having to do one denial listing per project and worse its not adhering to the SVN standard project structure.

Wes
A: 

It is not possible to have wildcards as you like to use them. For this purpose you should take a look at svnperm.py script (just google for it) it will match exactly this purpose.

khmarbaise
Thanks I'm going to take a look at this. Doesn't look like it works under windows according to the following resource http://subversion.tigris.org/issues/show_bug.cgi?id=3298
Wes
I'm going to accept this answer. It doesn't answer my exact use case however it is useful for most people with the same question.
Wes