| ## Example configuration file for svnperms.py. ## | |
| # $Id$ | |
| # | |
| # Multiple global [groups] sections are accepted, but be aware | |
| # that it's the same as concatenating them all in a single entry. | |
| # You can also create section specific groups, using a syntax | |
| # like [sectionname groups]. | |
| # | |
| [groups] | |
| group1 = user1 user2 user3 | |
| # | |
| # Example repository control, showing allowed syntax. | |
| # | |
| # - the latest match is what counts | |
| # - groups are prefixed by "@" | |
| # - you can use groups and users in the same definition | |
| # - all permissions may be revoked with () | |
| # - line breaks are accepted | |
| # | |
| [example1 groups] | |
| group2 = user9 user10 | |
| [example1] | |
| trunk/.* = *(add,remove,update) @group1,user4,user5(update) | |
| user6,user7() | |
| trunk/.* = user8(add,update) | |
| tags/[^/]+/ = @group2(add) | |
| branches/[^/]+/.* = *(add,remove,update) | |
| # | |
| # One of the most used repository structures, for a single project. | |
| # | |
| [example2] | |
| trunk/.* = *(add,remove,update) | |
| tags/[^/]+/ = *(add) | |
| branches/[^/]+/.* = *(add,remove,update) | |
| # | |
| # Another common structure, expecting a project name inside the repository | |
| # (like trunk/myproject/ and tags/myproject/). In this example, only admins | |
| # are allowed to create projects, and there are project specific access | |
| # lists. | |
| # | |
| [example3 groups] | |
| admins = john | |
| project1 = user1 user2 | |
| project2 = user3 user4 | |
| [example3] | |
| trunk/[^/]+/ = @admins(add,remove) | |
| trunk/project1/.+ = @project1(add,remove,update) | |
| trunk/project2/.+ = @project2(add,remove,update) | |
| tags/[^/]+/ = @admins(add,remove) | |
| tags/project1/[^/]+/ = @project1(add,remove) | |
| tags/project2/[^/]+/ = @project2(add,remove) | |
| branches/[^/]+/ = @admins(add,remove) | |
| branches/project1/[^/]+/.* = @project1(add,remove,update) | |
| branches/project2/[^/]+/.* = @project2(add,remove,update) | |
| # | |
| # A more complex structure, as defined in the following URL: | |
| # | |
| # http://moin.conectiva.com.br/RepositorySystem | |
| # | |
| [example4 groups] | |
| admins = user1 user2 | |
| updaters = user3 | |
| [example4] | |
| snapshot/[^/]+/(current/(SPECS/|SOURCES/)?)? = *(add) | |
| snapshot/[^/]+/ = @admins(add,remove) | |
| snapshot/[^/]+/current/SPECS/[^/]+\.spec = *(add,remove,update) | |
| snapshot/[^/]+/current/SOURCES/[^/]+ = *(add,remove,update) | |
| snapshot/[^/]+/releases/[^/]+/([^/+]/)? = autouser(add) | |
| snapshot/[^/]+/pristine/ = autouser(add,remove) | |
| branches/[^/]+/.* = *(add,remove,update) | |
| releases/[^/]+/ = @admins(add) | |
| tags/[^/]+/ = *(add,remove) | |
| updates/[^/]+/[^/]+/(current/(SPECS/|SOURCES/)?)? = @updaters,autouser(add) | |
| updates/[^/]+/[^/]+/current/SPECS/[^/]+\.spec = @updaters,autouser(add,update) | |
| updates/[^/]+/[^/]+/current/SOURCES/[^/]+ = @updaters,autouser(add,remove,update) | |
| updates/[^/]+/[^/]+/releases/.* = autouser(add) | |
| updates/[^/]+/[^/]+/pristine/ = autouser(add,remove) | |