1 ## Example configuration file for svnperms.py. ##
5 # Multiple global [groups] sections are accepted, but be aware
6 # that it's the same as concatenating them all in a single entry.
7 # You can also create section specific groups, using a syntax
8 # like [sectionname groups].
11 group1 = user1 user2 user3
14 # Example repository control, showing allowed syntax.
16 # - the latest match is what counts
17 # - groups are prefixed by "@"
18 # - you can use groups and users in the same definition
19 # - all permissions may be revoked with ()
20 # - line breaks are accepted
26 trunk/.* = *(add,remove,update) @group1,user4,user5(update)
28 trunk/.* = user8(add,update)
29 tags/[^/]+/ = @group2(add)
30 branches/[^/]+/.* = *(add,remove,update)
33 # One of the most used repository structures, for a single project.
36 trunk/.* = *(add,remove,update)
38 branches/[^/]+/.* = *(add,remove,update)
41 # Another common structure, expecting a project name inside the repository
42 # (like trunk/myproject/ and tags/myproject/). In this example, only admins
43 # are allowed to create projects, and there are project specific access
48 project1 = user1 user2
49 project2 = user3 user4
52 trunk/[^/]+/ = @admins(add,remove)
53 trunk/project1/.+ = @project1(add,remove,update)
54 trunk/project2/.+ = @project2(add,remove,update)
55 tags/[^/]+/ = @admins(add,remove)
56 tags/project1/[^/]+/ = @project1(add,remove)
57 tags/project2/[^/]+/ = @project2(add,remove)
58 branches/[^/]+/ = @admins(add,remove)
59 branches/project1/[^/]+/.* = @project1(add,remove,update)
60 branches/project2/[^/]+/.* = @project2(add,remove,update)
63 # A more complex structure, as defined in the following URL:
65 # http://moin.conectiva.com.br/RepositorySystem
72 snapshot/[^/]+/(current/(SPECS/|SOURCES/)?)? = *(add)
73 snapshot/[^/]+/ = @admins(add,remove)
74 snapshot/[^/]+/current/SPECS/[^/]+\.spec = *(add,remove,update)
75 snapshot/[^/]+/current/SOURCES/[^/]+ = *(add,remove,update)
76 snapshot/[^/]+/releases/[^/]+/([^/+]/)? = autouser(add)
77 snapshot/[^/]+/pristine/ = autouser(add,remove)
78 branches/[^/]+/.* = *(add,remove,update)
79 releases/[^/]+/ = @admins(add)
80 tags/[^/]+/ = *(add,remove)
81 updates/[^/]+/[^/]+/(current/(SPECS/|SOURCES/)?)? = @updaters,autouser(add)
82 updates/[^/]+/[^/]+/current/SPECS/[^/]+\.spec = @updaters,autouser(add,update)
83 updates/[^/]+/[^/]+/current/SOURCES/[^/]+ = @updaters,autouser(add,remove,update)
84 updates/[^/]+/[^/]+/releases/.* = autouser(add)
85 updates/[^/]+/[^/]+/pristine/ = autouser(add,remove)
88 # Sections can inherit settings from previously defined sections, using
89 # the "extends" keyword in the section declaration. In this example,
90 # the [example5] section inherits all the settings from [example2], and
91 # adds a new setting for a releases directory which behaves like the
94 [example5 extends example2]
95 releases/[^/]+/ = *(add)