| # This is a sample configuration file for commit-access-control.pl. | |
| # | |
| # $Id$ | |
| # | |
| # This file uses the Windows ini style, where the file consists of a | |
| # number of sections, each section starts with a unique section name | |
| # in square brackets. Parameters in each section are specified as | |
| # Name = Value. Any spaces around the equal sign will be ignored. If | |
| # there are multiple sections with exactly the same section name, then | |
| # the parameters in those sections will be added together to produce | |
| # one section with cumulative parameters. | |
| # | |
| # The commit-access-control.pl script reads these sections in order, | |
| # so later sections may overwrite permissions granted or removed in | |
| # previous sections. | |
| # | |
| # Each section has three valid parameters. Any other parameters are | |
| # ignored. | |
| # access = (read-only|read-write) | |
| # | |
| # This parameter is a required parameter. Valid values are | |
| # `read-only' and `read-write'. | |
| # | |
| # The access rights to apply to modified files and directories | |
| # that match the `match' regular expression described later on. | |
| # | |
| # match = PERL_REGEX | |
| # | |
| # This parameter is a required parameter and its value is a Perl | |
| # regular expression. | |
| # | |
| # To help users that automatically write regular expressions that | |
| # match the beginning of absolute paths using ^/, the script | |
| # removes the / character because subversion paths, while they | |
| # start at the root level, do not begin with a /. | |
| # | |
| # users = username1 [username2 [username3 [username4 ...]]] | |
| # or | |
| # users = username1 [username2] | |
| # users = username3 username4 | |
| # | |
| # This parameter is optional. The usernames listed here must be | |
| # exact usernames. There is no regular expression matching for | |
| # usernames. You may specify all the usernames that apply on one | |
| # line or split the names up on multiple lines. | |
| # | |
| # The access rights from `access' are applied to ALL modified | |
| # paths that match the `match' regular expression only if NO | |
| # usernames are specified in the section or if one of the listed | |
| # usernames matches the author of the commit. | |
| # | |
| # By default, because you're using commit-access-control.pl in the | |
| # first place to protect your repository, the script sets the | |
| # permissions to all files and directories in the repository to | |
| # read-only, so if you want to open up portions of the repository, | |
| # you'll need to edit this file. | |
| # | |
| # NOTE: NEVER GIVE DIFFERENT SECTIONS THE SAME SECTION NAME, OTHERWISE | |
| # THE PARAMETERS FOR THOSE SECTIONS WILL BE MERGED TOGETHER INTO ONE | |
| # SECTION AND YOUR SECURITY MAY BE COMPROMISED. | |
| [Make everything read-only for all users] | |
| match = .* | |
| access = read-only | |
| [Make project1 read-write for users Jane and Joe] | |
| match = ^(branches|tags|trunk)/project1 | |
| users = jane joe | |
| access = read-write | |
| [However, we don't trust Joe with project1's Makefile] | |
| match = ^(branches|tags|trunk)/project1/Makefile | |
| users = joe | |
| access = read-only |