restrict svn access - installed at princeton
[infrastructure.git] / scripts / commit-access-control.cfg
1 # This is a sample configuration file for commit-access-control.pl.
2 #
3 # $Id$
4 #
5 # This file uses the Windows ini style, where the file consists of a
6 # number of sections, each section starts with a unique section name
7 # in square brackets.  Parameters in each section are specified as
8 # Name = Value.  Any spaces around the equal sign will be ignored.  If
9 # there are multiple sections with exactly the same section name, then
10 # the parameters in those sections will be added together to produce
11 # one section with cumulative parameters.
12 #
13 # The commit-access-control.pl script reads these sections in order,
14 # so later sections may overwrite permissions granted or removed in
15 # previous sections.
16 #
17 # Each section has three valid parameters.  Any other parameters are
18 # ignored.
19 #   access = (read-only|read-write)
20 #
21 #     This parameter is a required parameter.  Valid values are
22 #     `read-only' and `read-write'.
23 #
24 #      The access rights to apply to modified files and directories
25 #      that match the `match' regular expression described later on.
26 #
27 #   match = PERL_REGEX
28 #
29 #     This parameter is a required parameter and its value is a Perl
30 #     regular expression.
31 #
32 #     To help users that automatically write regular expressions that
33 #     match the beginning of absolute paths using ^/, the script
34 #     removes the / character because subversion paths, while they
35 #     start at the root level, do not begin with a /.
36 #
37 #  users = username1 [username2 [username3 [username4 ...]]]
38 #    or
39 #  users = username1 [username2]
40 #  users = username3 username4
41 #
42 #     This parameter is optional.  The usernames listed here must be
43 #     exact usernames.  There is no regular expression matching for
44 #     usernames.  You may specify all the usernames that apply on one
45 #     line or split the names up on multiple lines.
46 #
47 #     The access rights from `access' are applied to ALL modified
48 #     paths that match the `match' regular expression only if NO
49 #     usernames are specified in the section or if one of the listed
50 #     usernames matches the author of the commit.
51 #
52 # By default, because you're using commit-access-control.pl in the
53 # first place to protect your repository, the script sets the
54 # permissions to all files and directories in the repository to
55 # read-only, so if you want to open up portions of the repository,
56 # you'll need to edit this file.
57 #
58 # NOTE: NEVER GIVE DIFFERENT SECTIONS THE SAME SECTION NAME, OTHERWISE
59 # THE PARAMETERS FOR THOSE SECTIONS WILL BE MERGED TOGETHER INTO ONE
60 # SECTION AND YOUR SECURITY MAY BE COMPROMISED.
61
62 [Make everything read-write for all users]
63 match   = .*
64 access  = read-write
65
66 [Make modules read-only for all users]
67 match   = ^(playground|tests)/.*
68 access  = read-only
69
70 [An illustration of a user-based access]
71 match   = ^tests/.*
72 users   = thierry
73 access  = read-write